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
- SqlProviderServices.cs
- GeneralTransform3DGroup.cs
- ElapsedEventArgs.cs
- LinkedList.cs
- ProcessProtocolHandler.cs
- XmlRootAttribute.cs
- ToolStripItemDesigner.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- HtmlWindowCollection.cs
- WorkflowControlEndpoint.cs
- ObjectSet.cs
- ControlAdapter.cs
- DataListItemCollection.cs
- IInstanceTable.cs
- SystemIPGlobalStatistics.cs
- ConnectionsZone.cs
- ConnectorDragDropGlyph.cs
- Attributes.cs
- RuntimeHandles.cs
- AnnotationAdorner.cs
- AppDomainAttributes.cs
- TableItemProviderWrapper.cs
- PreloadHost.cs
- SecurityElement.cs
- EntitySqlQueryCacheEntry.cs
- ExceptionHelpers.cs
- VirtualizedContainerService.cs
- RowUpdatedEventArgs.cs
- ResourceDisplayNameAttribute.cs
- ProtocolsConfigurationEntry.cs
- ChangePassword.cs
- BookmarkWorkItem.cs
- MediaElementAutomationPeer.cs
- XmlDocumentType.cs
- ViewPort3D.cs
- AsyncSerializedWorker.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- XhtmlBasicFormAdapter.cs
- LinkArea.cs
- TableLayoutPanel.cs
- FontCacheUtil.cs
- DataGridViewSelectedColumnCollection.cs
- ConfigurationHandlersInstallComponent.cs
- SizeConverter.cs
- Visual3DCollection.cs
- XMLSyntaxException.cs
- PreviewKeyDownEventArgs.cs
- StorageEntityTypeMapping.cs
- ContractMethodInfo.cs
- CacheDependency.cs
- RelatedView.cs
- PriorityQueue.cs
- QilInvoke.cs
- SkewTransform.cs
- TemplateXamlParser.cs
- Int64AnimationUsingKeyFrames.cs
- DSACryptoServiceProvider.cs
- TextEditorCharacters.cs
- TextParagraph.cs
- ResourcePermissionBaseEntry.cs
- RelationshipEntry.cs
- StringPropertyBuilder.cs
- StringCollectionEditor.cs
- UserControl.cs
- WpfMemberInvoker.cs
- CodeCommentStatementCollection.cs
- TextEvent.cs
- MetaTable.cs
- XmlCharCheckingReader.cs
- SevenBitStream.cs
- SerializerWriterEventHandlers.cs
- LockCookie.cs
- DropSource.cs
- ZipIOCentralDirectoryFileHeader.cs
- SwitchLevelAttribute.cs
- DefaultSerializationProviderAttribute.cs
- XmlSchemaRedefine.cs
- WinFormsSpinner.cs
- EncoderExceptionFallback.cs
- RankException.cs
- TopClause.cs
- ISO2022Encoding.cs
- WebPartConnection.cs
- XamlSerializerUtil.cs
- ExceptionHelpers.cs
- WebColorConverter.cs
- AppLevelCompilationSectionCache.cs
- SystemIcons.cs
- SrgsGrammar.cs
- HtmlEmptyTagControlBuilder.cs
- ClientBuildManagerCallback.cs
- StorageMappingFragment.cs
- StringSource.cs
- TraceInternal.cs
- DbUpdateCommandTree.cs
- InternalMappingException.cs
- PnrpPermission.cs
- DBDataPermissionAttribute.cs
- CodePageEncoding.cs
- PerformanceCountersElement.cs