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
- LineServicesRun.cs
- DbDataSourceEnumerator.cs
- JobPageOrder.cs
- SignerInfo.cs
- MemberInfoSerializationHolder.cs
- RootBrowserWindowAutomationPeer.cs
- AsyncPostBackTrigger.cs
- Schema.cs
- GlyphInfoList.cs
- XmlAnyElementAttribute.cs
- RequiredFieldValidator.cs
- SecurityResources.cs
- SQLBinary.cs
- CryptoStream.cs
- ExpressionBindingCollection.cs
- TraversalRequest.cs
- ProfileService.cs
- StructuredTypeEmitter.cs
- MenuStrip.cs
- RunWorkerCompletedEventArgs.cs
- WindowsIPAddress.cs
- ConsoleCancelEventArgs.cs
- QueryContinueDragEvent.cs
- InfoCardPolicy.cs
- NoClickablePointException.cs
- MethodCallConverter.cs
- FileLoadException.cs
- ParserOptions.cs
- Calendar.cs
- WmlPanelAdapter.cs
- LineMetrics.cs
- TableAdapterManagerGenerator.cs
- Brushes.cs
- HtmlHistory.cs
- DoubleKeyFrameCollection.cs
- LookupNode.cs
- AssemblyBuilder.cs
- MemoryFailPoint.cs
- StyleCollection.cs
- TextBlockAutomationPeer.cs
- TabItemWrapperAutomationPeer.cs
- ArgIterator.cs
- NumberSubstitution.cs
- RuntimeHelpers.cs
- HtmlLink.cs
- InfoCardKeyedHashAlgorithm.cs
- XPathSelfQuery.cs
- RelationshipEndMember.cs
- TypedElement.cs
- UnsafeNativeMethods.cs
- ExpressionEvaluator.cs
- AttributeUsageAttribute.cs
- SqlRetyper.cs
- HtmlHead.cs
- ButtonStandardAdapter.cs
- ScalarType.cs
- IriParsingElement.cs
- FixedTextPointer.cs
- StringCollectionEditor.cs
- SqlDataSourceQueryConverter.cs
- WebPartManager.cs
- MetadataSource.cs
- PartManifestEntry.cs
- Message.cs
- basenumberconverter.cs
- ZoomPercentageConverter.cs
- RightsManagementProvider.cs
- TextPenaltyModule.cs
- ChtmlImageAdapter.cs
- ListControlConvertEventArgs.cs
- ProxyWebPartConnectionCollection.cs
- GenericTextProperties.cs
- AnyReturnReader.cs
- MaskInputRejectedEventArgs.cs
- WsatAdminException.cs
- WebPartDeleteVerb.cs
- UdpChannelFactory.cs
- MessageDecoder.cs
- StringKeyFrameCollection.cs
- ValidatorCompatibilityHelper.cs
- ListViewDeleteEventArgs.cs
- SqlFlattener.cs
- AnimationClock.cs
- XmlUnspecifiedAttribute.cs
- SurrogateChar.cs
- BuildProviderAppliesToAttribute.cs
- PhysicalFontFamily.cs
- KeyValuePairs.cs
- SamlAdvice.cs
- ScopelessEnumAttribute.cs
- ToolStripScrollButton.cs
- ReaderWriterLock.cs
- DataList.cs
- CollectionContainer.cs
- HtmlInputButton.cs
- ClockController.cs
- CompoundFileIOPermission.cs
- XhtmlCssHandler.cs
- RegexStringValidatorAttribute.cs
- MediaPlayerState.cs