CredentialType 列挙体
ユーザーのどの資格情報が保存されているかを示します。
名前空間 : Microsoft.WindowsLive.Id.Client
アセンブリ : Microsoft.WindowsLive.Id.Client (microsoft.windowslive.id.client.dll 内)
構文
'宣言
Public Enumeration CredentialType
public enum CredentialType
public enum class CredentialType
public enum CredentialType
public enum CredentialType
メンバー
メンバー名 | 説明 |
---|---|
All | Microsoft の内部使用のみ。 |
None | ユーザーの資格情報は保存されていません。 |
UserName | ユーザー名のみが保存されています。 |
UserNameAndPassword | ユーザー名およびパスワードの両方が保存されています。Authenticate を使用してサイレント認証を進めることができます。 |
解説
CredentialType 列挙体から値を返す SavedCredentials を使用して、コンピュータ上にどの資格情報が保存されているかを検査し、特定のユーザーを自動でサインインさせられるかどうか判別します。
CredentialType は、該当する場合は主にアプリケーションの既定のユーザーの自動サインインを実装するのに使用されます。詳細については、「Windows Live ID Client SDK での自動サインインの実装」を参照してください。
例
次の例は、CredentialType を使用して、サイレント認証を使用できるかどうか判別する方法を示しています。oId 変数は Identity のインスタンスを表しています。
private void TrySilentSignIn()
{
//config ファイルのユーザー名を使用して、グローバルの Identity オブジェクト インスタンスのインスタンス化を試行します。
try
{
oID = oIDMgr.CreateIdentity(defaultUserName);
}
catch (WLLogOnException wlex)
{
//FlowUrl が定義されているかどうかを確認します。
if (wlex.FlowUrl != null)
{
//FlowUrl が定義されている場合、ユーザーを Web ページに誘導し、エラーを修正させます。
MessageBox.Show(wlex.ErrorString + wlex.FlowUrl.AbsoluteUri + "に移動し、エラーの原因となる状況を修正してください");
}
else
{
//FlowUrl が定義されていない場合は、単純に ErrorString を表示します。
MessageBox.Show(wlex.ErrorString);
}
}
//ユーザー名が有効かどうか検査します。
if (oID != null)
{
//ユーザーがユーザー名およびパスワードを保存しているかどうか検査して確認します。
if (oID.SavedCredentials == CredentialType.UserNameAndPassword)
{
try
{
//サイレント認証を試行します。
if (oID.Authenticate(AuthenticationType.Silent))
{
currentUserName = defaultUserName;
}
else
{
MessageBox.Show("既定のユーザーの保存済みサインイン名およびパスワードは無効です。");
}
}
catch (WLLogOnException wlex)
{
//FlowUrl が定義されているかどうかを確認します。
if (wlex.FlowUrl != null)
{
//FlowUrl が定義されている場合、ユーザーを Web ページに誘導し、エラーを修正させます。
MessageBox.Show(wlex.ErrorString + wlex.FlowUrl.AbsoluteUri + "に移動し、エラーの原因となる状況を修正してください");
}
else
{
//FlowUrl が定義されていない場合は、単純に ErrorString を表示します。
MessageBox.Show(wlex.ErrorString);
}
}
}
else
{
MessageBox.Show("既定のユーザーはサインイン名およびパスワードを保存していません。");
}
}
else
{
MessageBox.Show("config ファイルの defaultUserName は無効な値です。");
config.AppSettings.Settings.Remove("defaultUserName");
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
}
プラットフォーム
開発プラットフォーム
Windows Vista、Windows XP Professional Service Pack 2 (SP2)
対象プラットフォーム
Windows Vista、Windows XP Professional SP2、Windows XP Home Edition SP2