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
- xmlfixedPageInfo.cs
- GeneralTransform3DTo2D.cs
- SqlCacheDependencyDatabase.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- UIHelper.cs
- X509Extension.cs
- FilterUserControlBase.cs
- PrivateFontCollection.cs
- OrthographicCamera.cs
- ToolStripTextBox.cs
- ProfilePropertySettings.cs
- CodeTypeReferenceExpression.cs
- DiscoveryCallbackBehavior.cs
- TargetException.cs
- ContainerControl.cs
- RepeatButton.cs
- _StreamFramer.cs
- MsmqInputChannel.cs
- WebPartConnectionsCloseVerb.cs
- FileDialog_Vista_Interop.cs
- ToolStripSeparator.cs
- DbParameterCollectionHelper.cs
- Font.cs
- COM2ColorConverter.cs
- PathFigure.cs
- TextEffectCollection.cs
- ConsoleKeyInfo.cs
- ResizeGrip.cs
- newinstructionaction.cs
- TimeZone.cs
- XmlNodeList.cs
- ModelItem.cs
- HashHelper.cs
- ServiceDeploymentInfo.cs
- TimeStampChecker.cs
- LinqToSqlWrapper.cs
- MemoryMappedViewStream.cs
- ItemCheckEvent.cs
- TableHeaderCell.cs
- MdbDataFileEditor.cs
- CodeTypeDeclarationCollection.cs
- TreeNodeEventArgs.cs
- BorderSidesEditor.cs
- DispatcherHookEventArgs.cs
- WeakHashtable.cs
- SqlRowUpdatedEvent.cs
- ConsoleCancelEventArgs.cs
- ValidationRuleCollection.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- SearchForVirtualItemEventArgs.cs
- NumericExpr.cs
- ContextMenu.cs
- XmlNode.cs
- TextRangeBase.cs
- followingsibling.cs
- ClientProxyGenerator.cs
- WebPartDisplayModeCancelEventArgs.cs
- ToolStripLocationCancelEventArgs.cs
- ElementNotAvailableException.cs
- XmlNamespaceManager.cs
- ValidationErrorEventArgs.cs
- ISFTagAndGuidCache.cs
- SchemaInfo.cs
- EastAsianLunisolarCalendar.cs
- SmiGettersStream.cs
- SmtpDateTime.cs
- XmlSchemaParticle.cs
- FontStyles.cs
- DbProviderFactories.cs
- XmlSchemas.cs
- IERequestCache.cs
- Logging.cs
- MdImport.cs
- TdsParserStaticMethods.cs
- Compiler.cs
- UnionCqlBlock.cs
- HtmlEncodedRawTextWriter.cs
- LocalTransaction.cs
- InterleavedZipPartStream.cs
- WpfGeneratedKnownProperties.cs
- RemotingConfiguration.cs
- URLMembershipCondition.cs
- regiisutil.cs
- StrongNameUtility.cs
- SmtpLoginAuthenticationModule.cs
- FileLogRecordHeader.cs
- RuntimeConfig.cs
- PointLight.cs
- SchemaAttDef.cs
- AttachedPropertyMethodSelector.cs
- TransactionManager.cs
- Trace.cs
- IndexedEnumerable.cs
- SelectingProviderEventArgs.cs
- ConfigurationStrings.cs
- DesignerWidgets.cs
- CookielessHelper.cs
- ProgressPage.cs
- EntityContainerEmitter.cs
- SecurityDescriptor.cs