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
- elementinformation.cs
- ExtensibleClassFactory.cs
- X509CertificateInitiatorServiceCredential.cs
- AliasGenerator.cs
- Tuple.cs
- XmlChildEnumerator.cs
- ThrowHelper.cs
- AuthenticateEventArgs.cs
- RegistryHandle.cs
- SponsorHelper.cs
- SecureStringHasher.cs
- Timeline.cs
- TableItemStyle.cs
- SqlInternalConnection.cs
- CheckBox.cs
- OleDbTransaction.cs
- PropertyTabAttribute.cs
- HttpCachePolicyElement.cs
- RemoteTokenFactory.cs
- FileUtil.cs
- ObsoleteAttribute.cs
- RadioButtonAutomationPeer.cs
- ProcessHostServerConfig.cs
- DataMemberAttribute.cs
- HwndKeyboardInputProvider.cs
- WebPartAuthorizationEventArgs.cs
- WebPartZoneCollection.cs
- DataSourceDescriptorCollection.cs
- DefaultSection.cs
- RoutedEventArgs.cs
- SqlBulkCopy.cs
- KeyValuePairs.cs
- InternalTransaction.cs
- CheckBoxAutomationPeer.cs
- DetailsViewActionList.cs
- TextElement.cs
- HotSpotCollectionEditor.cs
- TextCollapsingProperties.cs
- Rule.cs
- GridViewColumnCollection.cs
- AssociatedControlConverter.cs
- AssociationSet.cs
- ProtocolsConfigurationHandler.cs
- WebPartEditorOkVerb.cs
- ManagementScope.cs
- SuppressMergeCheckAttribute.cs
- OdbcConnectionOpen.cs
- Point3DValueSerializer.cs
- HuffModule.cs
- LocatorManager.cs
- KeyConstraint.cs
- InternalConfigRoot.cs
- XamlReaderConstants.cs
- RecognizeCompletedEventArgs.cs
- PartialCachingControl.cs
- DecimalKeyFrameCollection.cs
- TextOnlyOutput.cs
- HttpRuntimeSection.cs
- DataControlField.cs
- SqlFileStream.cs
- XmlILOptimizerVisitor.cs
- XPathSingletonIterator.cs
- TypeDescriptionProvider.cs
- FrameworkContextData.cs
- AssociationEndMember.cs
- LogAppendAsyncResult.cs
- TrackingAnnotationCollection.cs
- BindingExpression.cs
- RawUIStateInputReport.cs
- NetSectionGroup.cs
- RootBuilder.cs
- _ProxyChain.cs
- XmlTextAttribute.cs
- SymbolPair.cs
- Table.cs
- ProviderManager.cs
- GenericArgumentsUpdater.cs
- Pens.cs
- StylusCaptureWithinProperty.cs
- CollectionExtensions.cs
- WindowsGrip.cs
- RouteItem.cs
- IUnknownConstantAttribute.cs
- DragDropHelper.cs
- HitTestFilterBehavior.cs
- HierarchicalDataSourceControl.cs
- XmlDataCollection.cs
- DataControlImageButton.cs
- CallId.cs
- PropertyEmitterBase.cs
- DllNotFoundException.cs
- Command.cs
- XmlJsonReader.cs
- HttpResponseInternalWrapper.cs
- VolatileResourceManager.cs
- DataContractSet.cs
- TransportConfigurationTypeElementCollection.cs
- CookieParameter.cs
- ChtmlTextWriter.cs
- SQLMoney.cs