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
- X509IssuerSerialKeyIdentifierClause.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- OrderByQueryOptionExpression.cs
- NamespaceExpr.cs
- OdbcConnectionOpen.cs
- HandlerBase.cs
- XmlWellformedWriterHelpers.cs
- PackagingUtilities.cs
- KeyInstance.cs
- DesignTimeTemplateParser.cs
- XmlUtil.cs
- MemberDomainMap.cs
- BuildProviderCollection.cs
- RSAOAEPKeyExchangeDeformatter.cs
- EventLogSession.cs
- DbParameterHelper.cs
- CompositeDuplexBindingElement.cs
- DecoderBestFitFallback.cs
- PersistenceTask.cs
- ClaimComparer.cs
- EncodingNLS.cs
- Number.cs
- ExpressionNormalizer.cs
- ContentPlaceHolderDesigner.cs
- LineServices.cs
- UIElement3D.cs
- RegexInterpreter.cs
- ReadOnlyCollectionBase.cs
- TypeValidationEventArgs.cs
- WmiInstallComponent.cs
- CompilerTypeWithParams.cs
- SoapEnumAttribute.cs
- InputMethod.cs
- ToolBarTray.cs
- WebReferenceCollection.cs
- FullTextLine.cs
- SimpleType.cs
- WebServiceEnumData.cs
- AnnouncementSendsAsyncResult.cs
- EventData.cs
- RegexTree.cs
- WindowsGraphicsCacheManager.cs
- NTAccount.cs
- RegexCompilationInfo.cs
- SiblingIterators.cs
- OutputCacheProfile.cs
- WindowsScrollBarBits.cs
- X509Certificate.cs
- XmlValueConverter.cs
- AlternateViewCollection.cs
- ConfigurationValues.cs
- ListViewUpdatedEventArgs.cs
- ConfigurationStrings.cs
- TextTabProperties.cs
- DataGridViewLinkCell.cs
- CursorInteropHelper.cs
- DecoratedNameAttribute.cs
- DataSourceSelectArguments.cs
- HyperLinkColumn.cs
- RegistrationServices.cs
- InputReportEventArgs.cs
- InputMethodStateTypeInfo.cs
- OverlappedAsyncResult.cs
- FixedTextSelectionProcessor.cs
- IPAddressCollection.cs
- DataPager.cs
- ZipPackage.cs
- SortedSet.cs
- AssemblyUtil.cs
- SchemaObjectWriter.cs
- UIElementParaClient.cs
- ModuleBuilderData.cs
- LogicalTreeHelper.cs
- PublisherMembershipCondition.cs
- TdsParserStaticMethods.cs
- ConnectionManagementElementCollection.cs
- FileUpload.cs
- HttpListenerContext.cs
- Metadata.cs
- WSFederationHttpSecurityElement.cs
- RectangleGeometry.cs
- XmlDownloadManager.cs
- OutputCacheProfile.cs
- ManagedFilter.cs
- HashJoinQueryOperatorEnumerator.cs
- SemaphoreSecurity.cs
- NavigationExpr.cs
- TemplateContainer.cs
- CryptoApi.cs
- ThreadStartException.cs
- ObjectListDesigner.cs
- KerberosTicketHashIdentifierClause.cs
- ThousandthOfEmRealDoubles.cs
- ArrangedElementCollection.cs
- CompressedStack.cs
- ConvertEvent.cs
- SiteMembershipCondition.cs
- CompoundFileReference.cs
- Asn1IntegerConverter.cs
- ErrorStyle.cs