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
- XsltContext.cs
- PolyBezierSegment.cs
- DataGridViewSelectedRowCollection.cs
- brushes.cs
- Literal.cs
- entityreference_tresulttype.cs
- Condition.cs
- ComponentCommands.cs
- TypeUnloadedException.cs
- DataGridState.cs
- PropertyDescriptorGridEntry.cs
- BufferAllocator.cs
- ContextMenu.cs
- ExpandCollapseProviderWrapper.cs
- IndexerNameAttribute.cs
- BitmapEffectState.cs
- CanonicalFormWriter.cs
- TextPenaltyModule.cs
- List.cs
- DataColumnChangeEvent.cs
- IteratorFilter.cs
- ListenerHandler.cs
- MetadataUtilsSmi.cs
- InplaceBitmapMetadataWriter.cs
- ListViewItem.cs
- MultiBinding.cs
- BinaryNode.cs
- ManifestSignatureInformation.cs
- UdpMessageProperty.cs
- WSFederationHttpBinding.cs
- ItemChangedEventArgs.cs
- SqlAggregateChecker.cs
- EntityContainerEntitySet.cs
- EntityClassGenerator.cs
- PageRequestManager.cs
- DataServiceStreamResponse.cs
- NativeMethods.cs
- ParseChildrenAsPropertiesAttribute.cs
- SoundPlayerAction.cs
- XmlReader.cs
- MetadataItem.cs
- ConditionalAttribute.cs
- AsyncResult.cs
- XmlReaderSettings.cs
- WorkflowServiceHost.cs
- HeaderedItemsControl.cs
- InvalidEnumArgumentException.cs
- ExtenderProvidedPropertyAttribute.cs
- templategroup.cs
- RevocationPoint.cs
- TreeIterators.cs
- ImmComposition.cs
- BrushValueSerializer.cs
- DebuggerService.cs
- SpecularMaterial.cs
- SqlUserDefinedTypeAttribute.cs
- ProviderSettingsCollection.cs
- AutoResetEvent.cs
- AssemblyInfo.cs
- DataFieldCollectionEditor.cs
- QuaternionAnimationBase.cs
- DetailsViewInsertedEventArgs.cs
- SafeCryptContextHandle.cs
- DesignerMetadata.cs
- ReadOnlyAttribute.cs
- Metafile.cs
- SplineKeyFrames.cs
- MsmqIntegrationProcessProtocolHandler.cs
- EdmProviderManifest.cs
- DataServiceOperationContext.cs
- DataGridState.cs
- SingleAnimationBase.cs
- MarkupObject.cs
- ProfileParameter.cs
- FormCollection.cs
- FlowLayoutPanelDesigner.cs
- ProtocolViolationException.cs
- XmlObjectSerializerReadContextComplex.cs
- TypeInitializationException.cs
- LoadGrammarCompletedEventArgs.cs
- AppSecurityManager.cs
- infer.cs
- TextBoxView.cs
- QilGeneratorEnv.cs
- State.cs
- WorkflowRuntimeService.cs
- EntitySqlException.cs
- DataGrid.cs
- StateWorkerRequest.cs
- BadImageFormatException.cs
- RuntimeConfigLKG.cs
- SafeBitVector32.cs
- RelationshipManager.cs
- PropertyTabAttribute.cs
- Pair.cs
- SoapSchemaExporter.cs
- DataGridViewButtonColumn.cs
- Decimal.cs
- ProcessInputEventArgs.cs
- Deserializer.cs