次の方法で共有


UserNamePasswordServiceCredential.UserNamePasswordValidationMode プロパティ

定義

ユーザー名とパスワードを検証する方法を取得または設定します。

public:
 property System::ServiceModel::Security::UserNamePasswordValidationMode UserNamePasswordValidationMode { System::ServiceModel::Security::UserNamePasswordValidationMode get(); void set(System::ServiceModel::Security::UserNamePasswordValidationMode value); };
public System.ServiceModel.Security.UserNamePasswordValidationMode UserNamePasswordValidationMode { get; set; }
member this.UserNamePasswordValidationMode : System.ServiceModel.Security.UserNamePasswordValidationMode with get, set
Public Property UserNamePasswordValidationMode As UserNamePasswordValidationMode

プロパティ値

UserNamePasswordValidationMode 内の列挙値。

このプロパティの値を取得する例を次に示します。

// Create a service host.
Uri httpUri = new Uri("http://localhost/Calculator");
ServiceHost sh = new ServiceHost(typeof(Calculator), httpUri);

// Create a binding that uses a username/password credential.
WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
b.Security.Message.ClientCredentialType = MessageCredentialType.UserName;

// Add an endpoint.
sh.AddServiceEndpoint(typeof(ICalculator), b, "UserNamePasswordCalculator");

// Get a reference to the UserNamePasswordServiceCredential object.
UserNamePasswordServiceCredential unpCredential =
    sh.Credentials.UserNameAuthentication;
// Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}",
    unpCredential.IncludeWindowsGroups);
Console.WriteLine("UserNamePasswordValidationMode: {0}",
    unpCredential.UserNamePasswordValidationMode);
Console.WriteLine("CachedLogonTokenLifetime.Minutes: {0}",
    unpCredential.CachedLogonTokenLifetime.Minutes );
Console.WriteLine("CacheLogonTokens: {0}",
    unpCredential.CacheLogonTokens );
Console.WriteLine("MaxCachedLogonTokens: {0}",
    unpCredential.MaxCachedLogonTokens );

Console.ReadLine();
' Create a service host.
Dim httpUri As New Uri("http://localhost/Calculator")
Dim sh As New ServiceHost(GetType(Calculator), httpUri)

' Create a binding that uses a username/password credential.
Dim b As New WSHttpBinding(SecurityMode.Message)
b.Security.Message.ClientCredentialType = MessageCredentialType.UserName

' Add an endpoint.
sh.AddServiceEndpoint(GetType(ICalculator), b, "UserNamePasswordCalculator")

' Get a reference to the UserNamePasswordServiceCredential object.
Dim unpCredential As UserNamePasswordServiceCredential = sh.Credentials.UserNameAuthentication
' Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}", unpCredential.IncludeWindowsGroups)
Console.WriteLine("UserNamePasswordValidationMode: {0}", unpCredential.UserNamePasswordValidationMode)
Console.WriteLine("CachedLogonTokenLifetime.Minutes: {0}", unpCredential.CachedLogonTokenLifetime.Minutes)
Console.WriteLine("CacheLogonTokens: {0}", unpCredential.CacheLogonTokens)
Console.WriteLine("MaxCachedLogonTokens: {0}", unpCredential.MaxCachedLogonTokens)

Console.ReadLine()

注釈

次のいずれかの値になります。

このプロパティが Custom に設定されている場合、サービスは CustomUserNamePasswordValidator によって返されるオブジェクトを使用して、受信メッセージ内のユーザー名とパスワードを検証します。

Note

WCF サービスがインターネット インフォメーション サービス (IIS) でトランスポート レベルのセキュリティを使用してホストされており、UserNamePasswordValidationMode プロパティが Custom に設定されている場合、カスタム認証方式では Windows 認証のサブセットが使用されます。 これは、このシナリオの場合、WCF がカスタム認証を呼び出す前に IIS によって Windows 認証が実行されるためです。

このプロパティの値が MembershipProvider に設定されている場合は、MembershipProvider プロパティを設定してメンバーシップ プロバイダーを指定します。これにより、MembershipProvider プロパティで指定したメンバーシップ プロバイダーのインスタンスが、受信メッセージ内のユーザー名とパスワードの検証に使用されます。

適用対象