Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------ // 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
- IgnoreFlushAndCloseStream.cs
- DataContractSerializerElement.cs
- KeyPressEvent.cs
- ThreadInterruptedException.cs
- StreamAsIStream.cs
- WebUtil.cs
- sqlinternaltransaction.cs
- MetadataPropertyCollection.cs
- AtomMaterializerLog.cs
- XmlSchemaChoice.cs
- LoginAutoFormat.cs
- ReachSerializationUtils.cs
- OpenFileDialog.cs
- TypeHelper.cs
- EventLogQuery.cs
- PersonalizationStateQuery.cs
- XpsFilter.cs
- FieldAccessException.cs
- GridViewUpdatedEventArgs.cs
- Ipv6Element.cs
- FixedSOMGroup.cs
- Decoder.cs
- DefaultSettingsSection.cs
- SerializationUtilities.cs
- DoneReceivingAsyncResult.cs
- DataError.cs
- SchemaComplexType.cs
- MenuBindingsEditorForm.cs
- WCFBuildProvider.cs
- _Events.cs
- StylusButtonCollection.cs
- TemplateBindingExpressionConverter.cs
- SystemIPv6InterfaceProperties.cs
- _Events.cs
- AuthenticationService.cs
- PasswordPropertyTextAttribute.cs
- CheckedPointers.cs
- WebPartEditVerb.cs
- ShutDownListener.cs
- OdbcInfoMessageEvent.cs
- Highlights.cs
- ForwardPositionQuery.cs
- remotingproxy.cs
- DbSetClause.cs
- DataRowComparer.cs
- ButtonBase.cs
- UnsafeNativeMethods.cs
- CustomAttribute.cs
- ColumnWidthChangingEvent.cs
- NavigationWindow.cs
- DeferredReference.cs
- HMAC.cs
- Configuration.cs
- TypeGeneratedEventArgs.cs
- ComMethodElementCollection.cs
- ActivityXRefConverter.cs
- SystemIPInterfaceProperties.cs
- X509IssuerSerialKeyIdentifierClause.cs
- WorkflowInstance.cs
- WmiEventSink.cs
- DataContractSet.cs
- BitmapEffect.cs
- ResourceContainer.cs
- AsymmetricKeyExchangeDeformatter.cs
- loginstatus.cs
- DataServices.cs
- ErrorInfoXmlDocument.cs
- HybridDictionary.cs
- SerializerDescriptor.cs
- MDIControlStrip.cs
- AdapterUtil.cs
- TreeNodeCollection.cs
- ConcurrentDictionary.cs
- StreamReader.cs
- WindowsFont.cs
- Tracking.cs
- X509SubjectKeyIdentifierClause.cs
- UdpTransportSettingsElement.cs
- WinEventWrap.cs
- ElementFactory.cs
- WebServiceErrorEvent.cs
- EntityDataSourceWrapperCollection.cs
- BitmapEffectState.cs
- MessageHeaderInfoTraceRecord.cs
- MimeBasePart.cs
- FormViewPagerRow.cs
- RevocationPoint.cs
- Button.cs
- HttpCachePolicyElement.cs
- TabPanel.cs
- IFormattable.cs
- LockCookie.cs
- HashCryptoHandle.cs
- TargetInvocationException.cs
- Color.cs
- DataGridHeaderBorder.cs
- LoopExpression.cs
- WebPartTracker.cs
- SimpleBitVector32.cs
- BitmapVisualManager.cs