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
- IndexedGlyphRun.cs
- DocumentsTrace.cs
- WebPartsSection.cs
- LicenseException.cs
- CustomAttributeBuilder.cs
- ToolTipAutomationPeer.cs
- StylusPointProperty.cs
- UnhandledExceptionEventArgs.cs
- Model3D.cs
- ValidationRuleCollection.cs
- SoapSchemaExporter.cs
- unitconverter.cs
- DesignTimeHTMLTextWriter.cs
- DataPagerFieldCommandEventArgs.cs
- SqlRecordBuffer.cs
- GraphicsContext.cs
- TypeResolver.cs
- ReturnEventArgs.cs
- ConfigurationSection.cs
- RsaKeyIdentifierClause.cs
- DbProviderFactories.cs
- DataGridViewColumn.cs
- BuildResultCache.cs
- WebHeaderCollection.cs
- PersistenceTypeAttribute.cs
- DataServiceExpressionVisitor.cs
- ObjectDataSourceStatusEventArgs.cs
- ReadOnlyDataSource.cs
- WindowsGraphicsCacheManager.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- Int32CollectionConverter.cs
- ApplicationSecurityInfo.cs
- Compilation.cs
- NativeObjectSecurity.cs
- AttributeXamlType.cs
- MarkupCompilePass1.cs
- ColumnWidthChangedEvent.cs
- QuestionEventArgs.cs
- ContextMenuAutomationPeer.cs
- PersistChildrenAttribute.cs
- BooleanExpr.cs
- RoleGroupCollection.cs
- RowToParametersTransformer.cs
- SemanticBasicElement.cs
- HyperlinkAutomationPeer.cs
- SqlMethodCallConverter.cs
- SqlBuffer.cs
- DataSourceXmlAttributeAttribute.cs
- ChannelTerminatedException.cs
- SurrogateEncoder.cs
- TabletDevice.cs
- ActivityTypeCodeDomSerializer.cs
- FontClient.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ListBoxItemWrapperAutomationPeer.cs
- RecipientInfo.cs
- ColorConverter.cs
- StrokeCollectionDefaultValueFactory.cs
- PhysicalOps.cs
- TextBoxAutoCompleteSourceConverter.cs
- UdpRetransmissionSettings.cs
- Baml2006KeyRecord.cs
- MemberHolder.cs
- Viewport3DAutomationPeer.cs
- DPTypeDescriptorContext.cs
- HostedBindingBehavior.cs
- StatusBarDrawItemEvent.cs
- SemanticAnalyzer.cs
- WpfWebRequestHelper.cs
- AccessText.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ProcessStartInfo.cs
- WebConfigurationHostFileChange.cs
- EntityDataSourceContextDisposingEventArgs.cs
- BitmapEffectDrawingContent.cs
- DataGridrowEditEndingEventArgs.cs
- ResourcePermissionBase.cs
- DefaultSettingsSection.cs
- ConditionalBranch.cs
- EntityDataSourceViewSchema.cs
- UnsafeNativeMethods.cs
- TextRangeSerialization.cs
- ClientData.cs
- RichTextBox.cs
- IPHostEntry.cs
- SystemMulticastIPAddressInformation.cs
- HtmlAnchor.cs
- Globals.cs
- SQLInt32Storage.cs
- DataGridViewTextBoxCell.cs
- RegexGroup.cs
- TrustSection.cs
- DataSourceProvider.cs
- DataServices.cs
- XmlResolver.cs
- CommonObjectSecurity.cs
- InitializationEventAttribute.cs
- TypeInitializationException.cs
- XmlFormatExtensionPrefixAttribute.cs
- WebPartRestoreVerb.cs