Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Claims / ClaimSet.cs / 1305376 / ClaimSet.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Claims { using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using System.Security.Principal; using System.Text; [DataContract(Namespace = XsiConstants.Namespace)] public abstract class ClaimSet : IEnumerable{ static ClaimSet system; static ClaimSet windows; static ClaimSet anonymous; public static ClaimSet System { get { if (system == null) { List claims = new List (2); claims.Add(Claim.System); claims.Add(new Claim(ClaimTypes.System, XsiConstants.System, Rights.PossessProperty)); system = new DefaultClaimSet(claims); } return system; } } public static ClaimSet Windows { get { if (windows == null) { List claims = new List (2); SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.NTAuthoritySid, null); claims.Add(new Claim(ClaimTypes.Sid, sid, Rights.Identity)); claims.Add(Claim.CreateWindowsSidClaim(sid)); windows = new DefaultClaimSet(claims); } return windows; } } internal static ClaimSet Anonymous { get { if (anonymous == null) anonymous = new DefaultClaimSet(); return anonymous; } } static internal bool SupportedRight(string right) { return right == null || Rights.Identity.Equals(right) || Rights.PossessProperty.Equals(right); } public virtual bool ContainsClaim(Claim claim, IEqualityComparer comparer) { if (claim == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("claim"); if (comparer == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("comparer"); IEnumerable claims = FindClaims(null, null); if (claims != null) { foreach (Claim matchingClaim in claims) { if (comparer.Equals(claim, matchingClaim)) return true; } } return false; } public virtual bool ContainsClaim(Claim claim) { if (claim == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("claim"); IEnumerable claims = FindClaims(claim.ClaimType, claim.Right); if (claims != null) { foreach (Claim matchingClaim in claims) { if (claim.Equals(matchingClaim)) return true; } } return false; } public abstract Claim this[int index] { get; } public abstract int Count { get; } public abstract ClaimSet Issuer { get; } // Note: null string represents any. public abstract IEnumerable FindClaims(string claimType, string right); public abstract IEnumerator GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FolderLevelBuildProviderAppliesToAttribute.cs
- DeclaredTypeElement.cs
- ErrorWrapper.cs
- DictionarySectionHandler.cs
- ClientEventManager.cs
- HyperlinkAutomationPeer.cs
- BitmapMetadataBlob.cs
- RadioButtonBaseAdapter.cs
- DataGridColumn.cs
- WebPartMenuStyle.cs
- COAUTHINFO.cs
- FileDialog_Vista_Interop.cs
- RadialGradientBrush.cs
- DesignerOptions.cs
- ChameleonKey.cs
- DesignerProperties.cs
- DoWorkEventArgs.cs
- Deflater.cs
- Clipboard.cs
- ProfileService.cs
- DashStyle.cs
- TypeUsageBuilder.cs
- SizeValueSerializer.cs
- XhtmlConformanceSection.cs
- Int32.cs
- AdPostCacheSubstitution.cs
- WebPartMenu.cs
- sqlmetadatafactory.cs
- NativeMethodsCLR.cs
- IndexedSelectQueryOperator.cs
- DataShape.cs
- TypeGenericEnumerableViewSchema.cs
- OutputCacheModule.cs
- AssertFilter.cs
- CodeDOMProvider.cs
- PackageDigitalSignatureManager.cs
- BitmapEffectGeneralTransform.cs
- SessionStateUtil.cs
- InternalSafeNativeMethods.cs
- ToolStripDropDownDesigner.cs
- BuildProviderAppliesToAttribute.cs
- TemplateParser.cs
- DesignerSelectionListAdapter.cs
- EastAsianLunisolarCalendar.cs
- COM2ICategorizePropertiesHandler.cs
- DebugView.cs
- CollectionBase.cs
- RecordManager.cs
- UnaryNode.cs
- MbpInfo.cs
- PropertyMapper.cs
- ImageConverter.cs
- StylusPointDescription.cs
- SeverityFilter.cs
- Baml2006ReaderContext.cs
- PolicyManager.cs
- Quaternion.cs
- RefreshEventArgs.cs
- Stack.cs
- XmlDataSourceView.cs
- SecurityCredentialsManager.cs
- BasicExpressionVisitor.cs
- MimeWriter.cs
- EntityDataSourceDataSelection.cs
- CodeCastExpression.cs
- UrlPath.cs
- ResourceFallbackManager.cs
- EntityCommandCompilationException.cs
- _SslState.cs
- EntityConnectionStringBuilderItem.cs
- DefaultSection.cs
- ValueTypeIndexerReference.cs
- CodeAttributeArgumentCollection.cs
- LogicalTreeHelper.cs
- TCEAdapterGenerator.cs
- CellTreeNodeVisitors.cs
- DispatcherTimer.cs
- StyleConverter.cs
- WindowsFormsLinkLabel.cs
- PathGeometry.cs
- HttpRawResponse.cs
- CodeObject.cs
- SystemColors.cs
- InternalControlCollection.cs
- __Filters.cs
- RemoteArgument.cs
- AsyncOperation.cs
- HttpWebRequestElement.cs
- AuthenticationSchemesHelper.cs
- WpfKnownMemberInvoker.cs
- BooleanExpr.cs
- ToolStripSplitButton.cs
- BamlReader.cs
- QueryStack.cs
- CommonObjectSecurity.cs
- UserControlCodeDomTreeGenerator.cs
- SpotLight.cs
- OpenTypeLayout.cs
- OuterGlowBitmapEffect.cs
- ServiceBuildProvider.cs