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
- VisualStateChangedEventArgs.cs
- LineMetrics.cs
- DynamicDocumentPaginator.cs
- XmlNamedNodeMap.cs
- SafeNativeMethods.cs
- InsufficientMemoryException.cs
- mda.cs
- LinqDataSourceValidationException.cs
- DesignerResources.cs
- FormViewRow.cs
- ViewgenGatekeeper.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Set.cs
- TextInfo.cs
- Brush.cs
- IdentityModelDictionary.cs
- HttpModuleCollection.cs
- DataGrid.cs
- NamedPipeTransportSecurity.cs
- XDRSchema.cs
- DataAccessException.cs
- TransformDescriptor.cs
- ComAdminInterfaces.cs
- AdPostCacheSubstitution.cs
- CommonObjectSecurity.cs
- PixelFormatConverter.cs
- TextContainer.cs
- KeyboardEventArgs.cs
- DataBindingHandlerAttribute.cs
- Renderer.cs
- FileSystemInfo.cs
- UIPermission.cs
- SpeechSynthesizer.cs
- PropertyTabAttribute.cs
- ServiceNameElementCollection.cs
- EventRoute.cs
- StylusSystemGestureEventArgs.cs
- TableLayoutPanel.cs
- DecimalConstantAttribute.cs
- KeyboardEventArgs.cs
- TextCharacters.cs
- FlowDocumentPaginator.cs
- SmtpMail.cs
- X509CertificateClaimSet.cs
- Ticks.cs
- WebPartDisplayModeEventArgs.cs
- figurelength.cs
- StackOverflowException.cs
- TemplateXamlTreeBuilder.cs
- ErrorReporting.cs
- X509ChainElement.cs
- DocumentPageTextView.cs
- XamlInt32CollectionSerializer.cs
- ContentPathSegment.cs
- HandleRef.cs
- ConfigurationSettings.cs
- BrowserDefinition.cs
- CssTextWriter.cs
- VisualTarget.cs
- CatalogZone.cs
- AppDomainProtocolHandler.cs
- ResizeGrip.cs
- KeyGestureValueSerializer.cs
- RegistryKey.cs
- OdbcCommandBuilder.cs
- SmiEventSink_Default.cs
- ListenerBinder.cs
- XPathDocument.cs
- IsolatedStorageFilePermission.cs
- TableHeaderCell.cs
- PropertyGridEditorPart.cs
- Propagator.JoinPropagator.cs
- DoubleCollectionValueSerializer.cs
- CompositionAdorner.cs
- CompositeActivityMarkupSerializer.cs
- PagedDataSource.cs
- EndOfStreamException.cs
- InfoCard.cs
- ToolStripContainer.cs
- XmlArrayAttribute.cs
- SortedDictionary.cs
- HtmlElementEventArgs.cs
- RowParagraph.cs
- DbTransaction.cs
- UdpChannelFactory.cs
- StringBuilder.cs
- ServiceChannel.cs
- SmtpFailedRecipientException.cs
- ClockGroup.cs
- ContextBase.cs
- SByteStorage.cs
- ServiceMetadataExtension.cs
- Certificate.cs
- URL.cs
- PasswordTextNavigator.cs
- RuntimeConfigurationRecord.cs
- DynamicRenderer.cs
- MaskedTextBoxTextEditorDropDown.cs
- FixUpCollection.cs
- SpecialFolderEnumConverter.cs