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
- Context.cs
- ImageBrush.cs
- ConfigurationSectionGroup.cs
- ProtocolViolationException.cs
- ApplicationFileParser.cs
- HtmlTernaryTree.cs
- TextModifier.cs
- DoubleCollection.cs
- PlanCompiler.cs
- GenericArgumentsUpdater.cs
- RequiredFieldValidator.cs
- ComPersistableTypeElement.cs
- SqlUDTStorage.cs
- GetMemberBinder.cs
- DropDownList.cs
- Queue.cs
- RtType.cs
- CellNormalizer.cs
- Trigger.cs
- CodeEntryPointMethod.cs
- OdbcConnection.cs
- BCryptHashAlgorithm.cs
- StrongNameHelpers.cs
- AlternateViewCollection.cs
- DbTransaction.cs
- ContentElement.cs
- EnumerableWrapperWeakToStrong.cs
- TextBoxAutoCompleteSourceConverter.cs
- ExpressionContext.cs
- ToolStripItemTextRenderEventArgs.cs
- User.cs
- RecordManager.cs
- ConfigPathUtility.cs
- DataGridViewSelectedColumnCollection.cs
- WeakRefEnumerator.cs
- MetaType.cs
- WebColorConverter.cs
- MarkupObject.cs
- FillBehavior.cs
- ExpressionsCollectionConverter.cs
- AbsoluteQuery.cs
- WebEventCodes.cs
- ProcessRequestArgs.cs
- FileUpload.cs
- WebPartConnectionsEventArgs.cs
- TreeViewCancelEvent.cs
- TypeToken.cs
- FreezableDefaultValueFactory.cs
- ElementMarkupObject.cs
- ArrangedElement.cs
- ChildTable.cs
- ThreadAbortException.cs
- DesignerToolStripControlHost.cs
- InProcStateClientManager.cs
- XmlArrayItemAttribute.cs
- CachingParameterInspector.cs
- FormatterConverter.cs
- TextBlockAutomationPeer.cs
- BufferedGraphics.cs
- SharedStatics.cs
- RegexMatch.cs
- RowCache.cs
- COM2ExtendedBrowsingHandler.cs
- HotSpot.cs
- SrgsElementFactory.cs
- CodeTypeDeclaration.cs
- MarkupCompiler.cs
- AuthenticationConfig.cs
- FormDocumentDesigner.cs
- ObjectDataSourceView.cs
- AmbiguousMatchException.cs
- CookielessHelper.cs
- ColumnMapTranslator.cs
- VisualTreeUtils.cs
- ObjectPropertyMapping.cs
- AttachedAnnotation.cs
- XmlResolver.cs
- ScrollBarAutomationPeer.cs
- XmlSchemaElement.cs
- DBParameter.cs
- OdbcEnvironmentHandle.cs
- ContextMenu.cs
- DrawingGroupDrawingContext.cs
- Link.cs
- ItemCollectionEditor.cs
- VersionedStreamOwner.cs
- NotificationContext.cs
- connectionpool.cs
- StylusPointCollection.cs
- TemplatedWizardStep.cs
- NamespaceCollection.cs
- Vars.cs
- ResourceDictionaryCollection.cs
- AggregateNode.cs
- ToolBarTray.cs
- filewebresponse.cs
- ChildTable.cs
- TabPage.cs
- CodeNamespaceImport.cs
- ListDictionaryInternal.cs