UserNamePasswordServiceCredential.CacheLogonTokens プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ログオン トークンをキャッシュするかどうかを示す値を取得または設定します。
public:
property bool CacheLogonTokens { bool get(); void set(bool value); };
public bool CacheLogonTokens { get; set; }
member this.CacheLogonTokens : bool with get, set
Public Property CacheLogonTokens As Boolean
プロパティ値
ログオン トークンをキャッシュする場合は、true
。それ以外の場合は false
。 既定値は、false
です。
例
このプロパティの値を取得する例を次に示します。
// 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()
注釈
既定では、WCF セキュリティは、ユーザー名が Windows アカウントにマップされている場合、受信するすべてのユーザー名/パスワード セキュリティ トークンのログオン トークンを作成するように Windows セキュリティ サブシステムに要求します。 この動作は、UserNamePasswordValidationMode プロパティを設定することにより変更できます。
Windows モードでは、サービスはユーザー名/パスワード認証に Win32 の LogonUser
関数を使用します。
CacheLogonTokens を true
に設定すると、発行された Windows トークンがキャッシュされ、同じユーザー名/パスワードの組み合わせに再利用されます。 キャッシュは CachedLogonTokenLifetime の間有効です。 キャッシュの最大数は MaxCachedLogonTokens に制限されます。
適用対象
.NET