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
- DesignTimeParseData.cs
- FilteredXmlReader.cs
- LoginViewDesigner.cs
- DnsEndPoint.cs
- Enumerable.cs
- ReachFixedPageSerializerAsync.cs
- ContextMarshalException.cs
- Localizer.cs
- FrameworkContentElementAutomationPeer.cs
- TextPatternIdentifiers.cs
- InheritablePropertyChangeInfo.cs
- SiteMapNodeCollection.cs
- MetadataItemSerializer.cs
- HyperLink.cs
- JsonXmlDataContract.cs
- ApplicationGesture.cs
- _UriSyntax.cs
- DataQuery.cs
- TableItemProviderWrapper.cs
- XmlDataSource.cs
- sortedlist.cs
- DataGridViewColumnCollection.cs
- Misc.cs
- X509Certificate.cs
- Menu.cs
- XmlSerializationWriter.cs
- processwaithandle.cs
- Opcode.cs
- _HeaderInfo.cs
- EventLogPermissionEntryCollection.cs
- InvalidProgramException.cs
- ListItemsCollectionEditor.cs
- WriteTimeStream.cs
- MetadataArtifactLoaderComposite.cs
- PermissionSet.cs
- InvokePattern.cs
- OutputCacheSection.cs
- PathNode.cs
- XmlSchemaInfo.cs
- ScriptManagerProxy.cs
- _CommandStream.cs
- LazyInitializer.cs
- ControlBuilder.cs
- OdbcReferenceCollection.cs
- AuthenticateEventArgs.cs
- RayMeshGeometry3DHitTestResult.cs
- SpanIndex.cs
- WebSysDisplayNameAttribute.cs
- ConfigurationPermission.cs
- ServiceContractDetailViewControl.cs
- NullableConverter.cs
- ProcessHostMapPath.cs
- InputLangChangeEvent.cs
- wgx_sdk_version.cs
- TypeExtensionConverter.cs
- MetadataPropertyAttribute.cs
- RectAnimationUsingKeyFrames.cs
- StringAnimationUsingKeyFrames.cs
- Rfc2898DeriveBytes.cs
- FamilyMap.cs
- CodeArgumentReferenceExpression.cs
- RegionData.cs
- QuarticEase.cs
- TextMarkerSource.cs
- ColorTransformHelper.cs
- DataError.cs
- StyleTypedPropertyAttribute.cs
- ReadOnlyDictionary.cs
- BooleanProjectedSlot.cs
- CompositeCollectionView.cs
- XmlSchemaParticle.cs
- WindowsEditBox.cs
- LineGeometry.cs
- Misc.cs
- NotFiniteNumberException.cs
- DispatcherObject.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- Trace.cs
- SslStream.cs
- GCHandleCookieTable.cs
- FileDetails.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ErrorFormatter.cs
- ImmutableCollection.cs
- CodeComment.cs
- ExpressionEditorAttribute.cs
- TrackingServices.cs
- RestHandlerFactory.cs
- DataColumnChangeEvent.cs
- CheckableControlBaseAdapter.cs
- ObjectCacheHost.cs
- XmlArrayItemAttributes.cs
- InstanceKeyCollisionException.cs
- EntitySqlQueryCacheKey.cs
- SortedSetDebugView.cs
- CalendarAutoFormat.cs
- ListViewTableCell.cs
- SimpleMailWebEventProvider.cs
- TdsParser.cs
- HttpListener.cs