次の方法で共有


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

その他のリソース

認証の実装