Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Claims / ClaimSet.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EdmComplexPropertyAttribute.cs
- HostingEnvironmentWrapper.cs
- ScriptModule.cs
- ListControlBoundActionList.cs
- InputLanguageSource.cs
- CacheChildrenQuery.cs
- MimeImporter.cs
- RewritingSimplifier.cs
- QuotedPrintableStream.cs
- X509CertificateTrustedIssuerElement.cs
- UnsafeNativeMethods.cs
- TypeResolvingOptionsAttribute.cs
- XsltInput.cs
- PersonalizationAdministration.cs
- Debugger.cs
- SqlColumnizer.cs
- DelayedRegex.cs
- TextSpanModifier.cs
- ElementNotEnabledException.cs
- COM2TypeInfoProcessor.cs
- XmlSchemaImporter.cs
- ActivityCodeDomSerializationManager.cs
- TrustSection.cs
- ValidateNames.cs
- ReflectionPermission.cs
- Rotation3DKeyFrameCollection.cs
- SafeNativeMethods.cs
- PopupControlService.cs
- RestHandlerFactory.cs
- InternalBufferOverflowException.cs
- safesecurityhelperavalon.cs
- SrgsDocument.cs
- SafeProcessHandle.cs
- CodeIndexerExpression.cs
- SupportsEventValidationAttribute.cs
- WebPartDisplayMode.cs
- MobileControlPersister.cs
- PartialList.cs
- HitTestWithPointDrawingContextWalker.cs
- WorkflowDesignerMessageFilter.cs
- LockingPersistenceProvider.cs
- Border.cs
- PageTheme.cs
- MetadataException.cs
- ImageMapEventArgs.cs
- Transform3DCollection.cs
- EntityConnection.cs
- RegisteredHiddenField.cs
- MobileUserControlDesigner.cs
- QuestionEventArgs.cs
- XamlInt32CollectionSerializer.cs
- DataReaderContainer.cs
- ConfigurationSection.cs
- TextModifier.cs
- EmbeddedObject.cs
- ProcessHost.cs
- CodeSnippetStatement.cs
- UnsafeNativeMethodsMilCoreApi.cs
- TypeForwardedToAttribute.cs
- XmlDataSource.cs
- DefaultBinder.cs
- XslCompiledTransform.cs
- SelectionEditor.cs
- SqlDataSourceView.cs
- GenerateTemporaryTargetAssembly.cs
- DiffuseMaterial.cs
- DataGridItem.cs
- LocalFileSettingsProvider.cs
- SizeAnimationBase.cs
- IncrementalHitTester.cs
- BufferedWebEventProvider.cs
- SqlUnionizer.cs
- IgnoreDataMemberAttribute.cs
- EdmProperty.cs
- XmlConverter.cs
- CodeSpit.cs
- ToolStripDropDownButton.cs
- RenderCapability.cs
- PathGeometry.cs
- CalendarAutomationPeer.cs
- Activator.cs
- PackWebResponse.cs
- EdgeProfileValidation.cs
- BaseDataListDesigner.cs
- UserControlBuildProvider.cs
- SiteMapSection.cs
- FixedNode.cs
- DataGridViewCellStyle.cs
- PathBox.cs
- PrimarySelectionAdorner.cs
- mda.cs
- ExceptionUtil.cs
- ObjectTag.cs
- GeneralTransform2DTo3D.cs
- CompositeCollection.cs
- Privilege.cs
- ReadOnlyPropertyMetadata.cs
- ObjectDataSourceDisposingEventArgs.cs
- HttpCapabilitiesBase.cs
- DbBuffer.cs