Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------ // 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
- CompilerScope.Storage.cs
- TextDecorationCollection.cs
- VectorConverter.cs
- TimeSpanConverter.cs
- SiteMapNodeItemEventArgs.cs
- DataGridViewRowStateChangedEventArgs.cs
- ColorComboBox.cs
- CompositeKey.cs
- SecurityContext.cs
- FunctionGenerator.cs
- XmlBinaryWriterSession.cs
- Boolean.cs
- EnvelopedSignatureTransform.cs
- RuntimeResourceSet.cs
- ToolStripPanelRenderEventArgs.cs
- AcceleratedTokenProviderState.cs
- InstanceKeyCollisionException.cs
- SchemaTypeEmitter.cs
- PrimitiveSchema.cs
- SecurityState.cs
- BamlStream.cs
- AssemblyFilter.cs
- DataGridCommandEventArgs.cs
- GridView.cs
- Image.cs
- StringStorage.cs
- InstanceCreationEditor.cs
- ExpandSegment.cs
- COMException.cs
- PropertyOverridesDialog.cs
- TextCharacters.cs
- VirtualDirectoryMapping.cs
- DataServiceProviderWrapper.cs
- InheritanceUI.cs
- SingleObjectCollection.cs
- TextPenaltyModule.cs
- ZipIOLocalFileDataDescriptor.cs
- ContextInformation.cs
- ISFTagAndGuidCache.cs
- FindRequestContext.cs
- MetadataPropertyAttribute.cs
- DbConnectionHelper.cs
- DataGrid.cs
- _SSPISessionCache.cs
- HandlerFactoryWrapper.cs
- ProcessStartInfo.cs
- StandardToolWindows.cs
- ExtendedProtectionPolicy.cs
- XmlHelper.cs
- NumericExpr.cs
- QueryCreatedEventArgs.cs
- UniformGrid.cs
- Metafile.cs
- TextPointer.cs
- OdbcReferenceCollection.cs
- Classification.cs
- ObjectCloneHelper.cs
- SRGSCompiler.cs
- TcpPortSharing.cs
- CustomAttribute.cs
- ToolStripTemplateNode.cs
- Stylus.cs
- HwndHostAutomationPeer.cs
- DBSchemaTable.cs
- ZoneIdentityPermission.cs
- ParserExtension.cs
- WindowsScrollBar.cs
- DataKey.cs
- ColumnPropertiesGroup.cs
- CodeDomDesignerLoader.cs
- HasCopySemanticsAttribute.cs
- HttpServerUtilityBase.cs
- DebugView.cs
- UriSectionData.cs
- ResourcesBuildProvider.cs
- ResourcePermissionBaseEntry.cs
- NetworkInterface.cs
- RelationshipConstraintValidator.cs
- FrameSecurityDescriptor.cs
- ObjectDataSourceMethodEventArgs.cs
- WebPartUtil.cs
- ConfigurationStrings.cs
- MethodCallTranslator.cs
- SingleStorage.cs
- _IPv4Address.cs
- PartitionResolver.cs
- Renderer.cs
- IconBitmapDecoder.cs
- DbConnectionClosed.cs
- DataViewManagerListItemTypeDescriptor.cs
- SemanticKeyElement.cs
- WebControlAdapter.cs
- AspNetPartialTrustHelpers.cs
- DataGridAutoFormat.cs
- SmtpTransport.cs
- SqlCaseSimplifier.cs
- _SslState.cs
- DefaultMemberAttribute.cs
- MenuEventArgs.cs
- FieldNameLookup.cs