Identity.SavedCredentials プロパティ
ユーザーのどの資格情報が保存されているかを示す値を取得します。
名前空間 : Microsoft.WindowsLive.Id.Client
アセンブリ : Microsoft.WindowsLive.Id.Client (microsoft.windowslive.id.client.dll 内)
構文
'宣言
Public ReadOnly Property SavedCredentials As CredentialType
public CredentialType SavedCredentials { get; }
public:
property CredentialType SavedCredentials {
CredentialType get ();
}
/** @ プロパティ */
public CredentialType get_SavedCredentials ()
public function get SavedCredentials () :CredentialType
プロパティ値
ユーザーのどの資格情報が保存されているかを示す CredentialType 列挙体から値を取得します。
例外
例外の種類 | 状態 |
---|---|
WLLogOnException | WLLogOnException がスローされる状態の詳細については、「ErrorString」を参照してください。 |
解説
SavedCredentials を使用して、コンピュータ上にどの資格情報が保存されているかを検査して確認し、特定のユーザーの自動サインインが可能かどうかを判別します。
SavedCredentials は、該当する場合に主にアプリケーションの既定のユーザーの自動サインインを実装するのに使用されます。詳細については、「自動サインインの実装」を参照してください。
例
次の例は、SavedCredentials を使用して、特定のユーザーの自動サインインが可能かどうかを判別する方法を示しています。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");
}
}
スレッド セーフティ
この型の public static (Visual Basic ではShared) メンバーはすべてスレッド セーフです。インスタンス メンバーの場合はスレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
Windows Vista、Windows XP Professional Service Pack 2 (SP2)
対象プラットフォーム
Windows Vista、Windows XP Professional SP2、Windows XP Home Edition SP2
関連項目
参照
Identity クラス
Identity メンバー
Microsoft.WindowsLive.Id.Client 名前空間
IdentityManager
WLLogOnException