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
- ConfigurationStrings.cs
- CardSpacePolicyElement.cs
- SqlHelper.cs
- util.cs
- ContractMapping.cs
- DocumentApplicationJournalEntry.cs
- ListViewItem.cs
- ResourcePermissionBaseEntry.cs
- Pair.cs
- WebScriptServiceHostFactory.cs
- LocalizationComments.cs
- XmlDocument.cs
- MimeAnyImporter.cs
- HtmlTitle.cs
- ProjectionCamera.cs
- DataBindingList.cs
- DrawToolTipEventArgs.cs
- VirtualizingPanel.cs
- PanelDesigner.cs
- MyContact.cs
- ResumeStoryboard.cs
- RangeValuePattern.cs
- Adorner.cs
- MatcherBuilder.cs
- ScrollChangedEventArgs.cs
- log.cs
- RegexCode.cs
- DiscriminatorMap.cs
- TimeSpanOrInfiniteValidator.cs
- SerializationObjectManager.cs
- StackSpiller.Generated.cs
- RightsManagementInformation.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ValidationSummary.cs
- SafeMemoryMappedViewHandle.cs
- HtmlMeta.cs
- HttpChannelFactory.cs
- MessageQueueException.cs
- HtmlListAdapter.cs
- MetadataItemEmitter.cs
- InstanceDataCollection.cs
- ValidationErrorCollection.cs
- CompressionTransform.cs
- Image.cs
- ZeroOpNode.cs
- MarkupWriter.cs
- LiteralTextContainerControlBuilder.cs
- RegexCharClass.cs
- GiveFeedbackEvent.cs
- panel.cs
- MethodMessage.cs
- ComPlusContractBehavior.cs
- ToolStripSplitButton.cs
- NumericPagerField.cs
- RecordConverter.cs
- SettingsProperty.cs
- TreeNodeBinding.cs
- Pair.cs
- ParameterCollection.cs
- ServicesUtilities.cs
- PopupRoot.cs
- ImportContext.cs
- PathTooLongException.cs
- DataGridViewCellLinkedList.cs
- DataSourceProvider.cs
- DataServiceQueryOfT.cs
- SafeSystemMetrics.cs
- FormViewPagerRow.cs
- LinkDescriptor.cs
- ValidationRuleCollection.cs
- DataGridViewAddColumnDialog.cs
- ProxyFragment.cs
- XmlSchemaSequence.cs
- BinaryKeyIdentifierClause.cs
- ConfigPathUtility.cs
- Processor.cs
- ReliabilityContractAttribute.cs
- EndpointDesigner.cs
- TableCell.cs
- ServiceHttpHandlerFactory.cs
- ParentUndoUnit.cs
- bindurihelper.cs
- XpsPartBase.cs
- TargetParameterCountException.cs
- MsdtcWrapper.cs
- SlotInfo.cs
- FormViewCommandEventArgs.cs
- Int16Storage.cs
- BaseParagraph.cs
- SqlCharStream.cs
- DBCommand.cs
- DockPatternIdentifiers.cs
- Inflater.cs
- CalendarAutoFormat.cs
- ScriptResourceDefinition.cs
- TransformerInfo.cs
- FixedHyperLink.cs
- XamlBuildTaskServices.cs
- ConfigXmlWhitespace.cs