Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / TokenFactoryCredential.cs / 1 / TokenFactoryCredential.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections.Generic; using System.IO; using System.Security.Cryptography; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; internal enum TokenFactoryCredentialType { Invalid = 0, LocalCredential = -1, UserNamePasswordCredential = 1, SelfIssuedCredential = 2, X509CertificateCredential = 3, KerberosCredential = 4, } // // Summary: // Class to managed and protect credentials collected for access // to token factories. // abstract internal class TokenFactoryCredential : IDisposable { public const int NoCredential = (int)TokenFactoryCredentialType.LocalCredential; TokenFactoryCredentialType m_type; Uri m_cardId; int m_paramIndex; int m_lcid; // // Summary: // Creates an emtpy credential. // protected TokenFactoryCredential( TokenFactoryCredentialType type ) { m_type = type; } public void Dispose() { Dispose( true ); } public virtual void Dispose( bool disposing ) { } // // Summary: // Create a new instance of a TokenFactoryCredential using the specified reader. // public static TokenFactoryCredential CreateFrom( BinaryReader reader, UIAgentRequest request, int lcid ) { TokenFactoryCredential cred; TokenFactoryCredentialType type = (TokenFactoryCredentialType)reader.ReadInt32(); switch( type ) { case TokenFactoryCredentialType.LocalCredential: cred = null; break; case TokenFactoryCredentialType.UserNamePasswordCredential: cred = new UserNameTokenFactoryCredential( ); cred.Deserialize( reader ); break; case TokenFactoryCredentialType.SelfIssuedCredential: cred = new SelfIssuedTokenFactoryCredential( ); cred.Deserialize( reader ); break; case TokenFactoryCredentialType.X509CertificateCredential: cred = new X509CertificateTokenFactoryCredential( request ); cred.Deserialize( reader ); break; case TokenFactoryCredentialType.KerberosCredential: cred = new KerberosTokenFactoryCredential( ); cred.Deserialize( reader ); break; default: IDT.ThrowInvalidArgumentConditional( true, "CredentialType" ); cred = null; break; } if( null != cred ) { cred.LCID = lcid; } return cred; } // // Gets the type of credentials // public int ParameterIndex { get{ return m_paramIndex; } } // // Gets the marshaled TokenFactoryCredentialType value // public TokenFactoryCredentialType CredentialType { get{ return m_type; } } // // LCID for the language that the display token should be in // public int LCID { get { return m_lcid; } set { m_lcid = value; } } // // Get the cardid of the selected card. // public Uri CardId { get{ return m_cardId; } } // // Summary: // Populates the class data from binary form // // Arguments: // reader: The reader that contains the data to populate the class // private void Deserialize( BinaryReader reader ) { // // Byte this point, we have already read the type info, so we skip it here. // m_cardId = new Uri( Utility.DeserializeString( reader ) ); m_paramIndex = reader.ReadInt32(); DeserializeData( reader ); } protected abstract void DeserializeData( BinaryReader reader ); } } // 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
- ImageListUtils.cs
- PackageProperties.cs
- HopperCache.cs
- COM2ColorConverter.cs
- Property.cs
- BamlResourceSerializer.cs
- CustomErrorsSection.cs
- SessionIDManager.cs
- DataBindEngine.cs
- XmlChoiceIdentifierAttribute.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- MethodRental.cs
- CodeThrowExceptionStatement.cs
- _IPv6Address.cs
- NamespaceDecl.cs
- IdSpace.cs
- MultiTrigger.cs
- TextEditorThreadLocalStore.cs
- XsdDataContractExporter.cs
- WindowInteractionStateTracker.cs
- ImplicitInputBrush.cs
- IUnknownConstantAttribute.cs
- CompModSwitches.cs
- MaskedTextProvider.cs
- OdbcConnectionOpen.cs
- XsltArgumentList.cs
- _TransmitFileOverlappedAsyncResult.cs
- DecryptRequest.cs
- EdmConstants.cs
- XmlSchemaAnyAttribute.cs
- TabletDevice.cs
- TransformPattern.cs
- ClientTarget.cs
- ObjectManager.cs
- CSharpCodeProvider.cs
- JsonWriter.cs
- CreateUserWizardStep.cs
- XPathItem.cs
- WebEncodingValidator.cs
- RoleManagerEventArgs.cs
- CookielessHelper.cs
- CriticalFinalizerObject.cs
- ByteStack.cs
- TagPrefixAttribute.cs
- EntityContainer.cs
- Directory.cs
- ZeroOpNode.cs
- DeclarativeCatalogPart.cs
- MouseBinding.cs
- CodeSubDirectory.cs
- SerializationObjectManager.cs
- ProfileManager.cs
- DesignOnlyAttribute.cs
- EventHandlerList.cs
- OrderedDictionaryStateHelper.cs
- XmlDictionaryWriter.cs
- CalendarTable.cs
- PerfCounters.cs
- StorageRoot.cs
- FlowDocumentPage.cs
- AppSettingsSection.cs
- XmlSchemaAnnotation.cs
- PathSegmentCollection.cs
- ConstructorBuilder.cs
- InternalConfigHost.cs
- TemplateBindingExpression.cs
- HttpFileCollectionWrapper.cs
- CodeGen.cs
- PersonalizableAttribute.cs
- WorkflowCommandExtensionItem.cs
- Collection.cs
- PtsPage.cs
- RtfControls.cs
- SwitchLevelAttribute.cs
- CollectionViewProxy.cs
- ExtendedProtectionPolicyTypeConverter.cs
- MultiSelectRootGridEntry.cs
- ExtentKey.cs
- odbcmetadatacollectionnames.cs
- WaitHandle.cs
- TransactedBatchContext.cs
- ResetableIterator.cs
- StylusPointCollection.cs
- PackageRelationshipSelector.cs
- AnnotationComponentChooser.cs
- PersonalizationStateInfo.cs
- FixUpCollection.cs
- Matrix3D.cs
- CodeMemberField.cs
- ClipboardProcessor.cs
- DifferencingCollection.cs
- ValueConversionAttribute.cs
- VarInfo.cs
- PeerEndPoint.cs
- RenderingBiasValidation.cs
- DataBindingList.cs
- InstanceCreationEditor.cs
- HMAC.cs
- IriParsingElement.cs
- PropertyChangingEventArgs.cs