Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeNativeMethods.cs
- FormatException.cs
- Context.cs
- Simplifier.cs
- arc.cs
- ApplicationBuildProvider.cs
- ProviderConnectionPointCollection.cs
- IDispatchConstantAttribute.cs
- EventLogPermissionAttribute.cs
- LowerCaseStringConverter.cs
- SizeConverter.cs
- XmlConvert.cs
- COM2PropertyDescriptor.cs
- Opcode.cs
- InternalDispatchObject.cs
- ViewGenResults.cs
- WSSecureConversation.cs
- PropertyTabChangedEvent.cs
- WorkflowView.cs
- HostingEnvironmentSection.cs
- StaticSiteMapProvider.cs
- Deflater.cs
- SoapCodeExporter.cs
- Utility.cs
- MobileListItem.cs
- NavigateEvent.cs
- CellLabel.cs
- EntityDataSourceConfigureObjectContext.cs
- DataGridViewTopLeftHeaderCell.cs
- ExpressionEditorAttribute.cs
- SettingsBindableAttribute.cs
- CodeTypeParameterCollection.cs
- RenderingEventArgs.cs
- KnownBoxes.cs
- PTManager.cs
- AnnotationAdorner.cs
- SoapRpcMethodAttribute.cs
- Int64KeyFrameCollection.cs
- MsmqHostedTransportManager.cs
- MultiAsyncResult.cs
- DataGridViewCellLinkedList.cs
- SafeNativeMethods.cs
- DataServiceStreamResponse.cs
- AppDomainUnloadedException.cs
- ColorConverter.cs
- PipeStream.cs
- MetaType.cs
- Int16Converter.cs
- TextBoxRenderer.cs
- BrowserCapabilitiesCodeGenerator.cs
- StringSource.cs
- Cloud.cs
- MenuEventArgs.cs
- TextEffectCollection.cs
- Rectangle.cs
- _KerberosClient.cs
- KeySplineConverter.cs
- LogRestartAreaEnumerator.cs
- Int32Rect.cs
- SwitchAttribute.cs
- EntityClassGenerator.cs
- BindToObject.cs
- DefaultParameterValueAttribute.cs
- ImageBrush.cs
- ExpandSegmentCollection.cs
- RuntimeIdentifierPropertyAttribute.cs
- GridViewRow.cs
- DataGridColumnsPage.cs
- PartitionedStream.cs
- shaperfactoryquerycachekey.cs
- ToolStripScrollButton.cs
- XmlTypeAttribute.cs
- SetterBaseCollection.cs
- SoapAttributeOverrides.cs
- XmlArrayAttribute.cs
- EnumBuilder.cs
- Content.cs
- MouseButton.cs
- Span.cs
- ExtensionDataReader.cs
- ArgumentValidation.cs
- XmlQueryStaticData.cs
- EraserBehavior.cs
- WebRequestModuleElementCollection.cs
- DynamicScriptObject.cs
- ComponentConverter.cs
- CodeTypeDeclaration.cs
- WebPartCollection.cs
- PreservationFileReader.cs
- WebServiceHostFactory.cs
- DataGridHeaderBorder.cs
- MailSettingsSection.cs
- XmlnsDefinitionAttribute.cs
- ObjectAssociationEndMapping.cs
- WebPartZoneBaseDesigner.cs
- SyndicationElementExtensionCollection.cs
- BoundField.cs
- Hyperlink.cs
- EntityDataSourceState.cs
- View.cs