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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBAsyncResult.cs
- Publisher.cs
- JsonClassDataContract.cs
- DataListItemCollection.cs
- IResourceProvider.cs
- ExceptionUtil.cs
- FormatterServices.cs
- PolicyValidationException.cs
- MetaModel.cs
- ProvidersHelper.cs
- CodeTypeDeclarationCollection.cs
- PropertyValueUIItem.cs
- _DisconnectOverlappedAsyncResult.cs
- SupportingTokenAuthenticatorSpecification.cs
- messageonlyhwndwrapper.cs
- HelpKeywordAttribute.cs
- PreviewPageInfo.cs
- UrlMappingsSection.cs
- SingleAnimationUsingKeyFrames.cs
- Duration.cs
- Evaluator.cs
- TemplateEditingService.cs
- WebPartsPersonalization.cs
- ByValueEqualityComparer.cs
- TimestampInformation.cs
- LiteralControl.cs
- GraphicsContainer.cs
- BackgroundWorker.cs
- RedistVersionInfo.cs
- WindowsComboBox.cs
- FieldAccessException.cs
- TypeDescriptor.cs
- HttpApplicationStateBase.cs
- XmlLinkedNode.cs
- StylusPoint.cs
- ClonableStack.cs
- HeaderLabel.cs
- PrimitiveType.cs
- GridViewDeletedEventArgs.cs
- complextypematerializer.cs
- DeobfuscatingStream.cs
- Int32RectConverter.cs
- UserNameSecurityTokenAuthenticator.cs
- PipeStream.cs
- DataGridViewCellFormattingEventArgs.cs
- TriggerAction.cs
- StrokeRenderer.cs
- FrameworkReadOnlyPropertyMetadata.cs
- PieceNameHelper.cs
- ComponentChangedEvent.cs
- _RequestCacheProtocol.cs
- ProtectedProviderSettings.cs
- DataTableClearEvent.cs
- LiteralControl.cs
- TriState.cs
- DataGridTextBoxColumn.cs
- HtmlInputFile.cs
- Debug.cs
- FormattedText.cs
- AdRotator.cs
- nulltextcontainer.cs
- DataListItem.cs
- FileInfo.cs
- OdbcFactory.cs
- QilGenerator.cs
- BinaryCommonClasses.cs
- Floater.cs
- Point3DCollectionValueSerializer.cs
- MainMenu.cs
- ScrollBar.cs
- ColorComboBox.cs
- Privilege.cs
- _FixedSizeReader.cs
- ConnectionStringsSection.cs
- DirectoryObjectSecurity.cs
- ServiceContractViewControl.Designer.cs
- RootContext.cs
- DrawingContextDrawingContextWalker.cs
- PropertyRecord.cs
- MergeFailedEvent.cs
- DataBoundControlHelper.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- _UriTypeConverter.cs
- EventWaitHandle.cs
- TextRenderer.cs
- TextBox.cs
- ReadOnlyPropertyMetadata.cs
- SingleKeyFrameCollection.cs
- ControlsConfig.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- SafeFileMappingHandle.cs
- PagerSettings.cs
- EventMap.cs
- CustomErrorCollection.cs
- XmlMapping.cs
- ObfuscateAssemblyAttribute.cs
- TemplateColumn.cs
- EventSinkActivityDesigner.cs
- ObjectResult.cs
- Rotation3DAnimationUsingKeyFrames.cs