Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / LocalIdKeyIdentifierClause.cs / 1 / LocalIdKeyIdentifierClause.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; public class LocalIdKeyIdentifierClause : SecurityKeyIdentifierClause { readonly string localId; readonly Type[] ownerTypes; public LocalIdKeyIdentifierClause(string localId) : this(localId, (Type[])null) { } public LocalIdKeyIdentifierClause(string localId, Type ownerType) : this(localId, ownerType == null ? (Type[])null : new Type[] { ownerType }) { } public LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type ownerType) : this(null, derivationNonce, derivationLength, ownerType == null ? (Type[])null : new Type[] { ownerType }) { } internal LocalIdKeyIdentifierClause(string localId, Type[] ownerTypes) : this(localId, null, 0, ownerTypes) { } internal LocalIdKeyIdentifierClause(string localId, byte[] derivationNonce, int derivationLength, Type[] ownerTypes) : base(null, derivationNonce, derivationLength) { if (localId == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("localId"); } if (localId == string.Empty) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.LocalIdCannotBeEmpty)); } this.localId = localId; this.ownerTypes = ownerTypes; } public string LocalId { get { return this.localId; } } public Type OwnerType { get { return (this.ownerTypes == null || this.ownerTypes.Length == 0) ? null : this.ownerTypes[0]; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { LocalIdKeyIdentifierClause that = keyIdentifierClause as LocalIdKeyIdentifierClause; // PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here. #pragma warning suppress 56506 return ReferenceEquals(this, that) || (that != null && that.Matches(this.localId, this.OwnerType)); } public bool Matches(string localId, Type ownerType) { if (string.IsNullOrEmpty(localId)) return false; if (this.localId != localId) return false; if (this.ownerTypes == null || ownerType == null) return true; for (int i = 0; i < this.ownerTypes.Length; ++i) { if (this.ownerTypes[i] == null || this.ownerTypes[i] == ownerType) return true; } return false; } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "LocalIdKeyIdentifierClause(LocalId = '{0}', Owner = '{1}')", this.LocalId, this.OwnerType); } } } // 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
- ConfigurationLockCollection.cs
- TabPageDesigner.cs
- SpAudioStreamWrapper.cs
- HttpInputStream.cs
- OpenTypeCommon.cs
- EventLogTraceListener.cs
- PlainXmlSerializer.cs
- Inflater.cs
- DesignerTextBoxAdapter.cs
- WhiteSpaceTrimStringConverter.cs
- XPathNodeHelper.cs
- CommandHelpers.cs
- CfgRule.cs
- WebPartEditorCancelVerb.cs
- CodeEventReferenceExpression.cs
- TypeConverterBase.cs
- Transform.cs
- SystemTcpConnection.cs
- CellTreeNodeVisitors.cs
- SqlFunctionAttribute.cs
- CodeDirectionExpression.cs
- Location.cs
- ErrorFormatter.cs
- Repeater.cs
- SerializationException.cs
- TableCellCollection.cs
- LocalizationComments.cs
- BinaryParser.cs
- RoutedEventConverter.cs
- OdbcConnectionOpen.cs
- BooleanSwitch.cs
- DataGridViewToolTip.cs
- LineBreak.cs
- ZipPackagePart.cs
- DeadCharTextComposition.cs
- BinaryReader.cs
- TypeConverterHelper.cs
- RowParagraph.cs
- XmlSchemaGroupRef.cs
- CannotUnloadAppDomainException.cs
- PropertyEmitterBase.cs
- TaskFormBase.cs
- CriticalExceptions.cs
- PagerSettings.cs
- StrokeSerializer.cs
- ExecutionContext.cs
- HttpWrapper.cs
- StateRuntime.cs
- ExternalDataExchangeClient.cs
- XmlSerializerOperationFormatter.cs
- ConfigXmlComment.cs
- FixedDocumentPaginator.cs
- CustomSignedXml.cs
- PagesChangedEventArgs.cs
- RowVisual.cs
- NGCSerializationManager.cs
- ReferenceTypeElement.cs
- MatrixTransform.cs
- SmiMetaData.cs
- StylusPointDescription.cs
- SHA1CryptoServiceProvider.cs
- ObjectDataSourceSelectingEventArgs.cs
- TextParentUndoUnit.cs
- WebPartExportVerb.cs
- MetafileHeaderWmf.cs
- exports.cs
- ControlValuePropertyAttribute.cs
- RelationshipConverter.cs
- CodeSnippetExpression.cs
- NonClientArea.cs
- SqlFacetAttribute.cs
- Dump.cs
- HWStack.cs
- SolidBrush.cs
- TemplateAction.cs
- SettingsAttributes.cs
- DataBoundLiteralControl.cs
- TextContainerChangedEventArgs.cs
- DomNameTable.cs
- KeyEventArgs.cs
- SeverityFilter.cs
- XmlEncoding.cs
- XmlNamespaceDeclarationsAttribute.cs
- Int16KeyFrameCollection.cs
- VersionConverter.cs
- SecurityTokenRequirement.cs
- AppSettingsExpressionEditor.cs
- Classification.cs
- DataTemplate.cs
- WaitHandleCannotBeOpenedException.cs
- DataGridViewRowConverter.cs
- MenuItemBinding.cs
- MimeTypeAttribute.cs
- ScriptComponentDescriptor.cs
- OpCodes.cs
- SubpageParaClient.cs
- SpecularMaterial.cs
- FilePrompt.cs
- GenericUriParser.cs
- DirectoryInfo.cs