1

VS2012 の「インターネット アプリケーション」テンプレートを使用して非常に基本的な MVC 4 サイトを作成し、カスタム MembershipProvider クラスを実装しようとしています。

ログイン時に、テンプレート コードは WebSecurity.Login(...) を呼び出し、最終的にプロバイダーの ValidateUser メソッドを呼び出します。

ログアウト時に、テンプレート コードは WebSecurity.Logout() を呼び出しますが、私が知る限り、これはメンバーシップ プロバイダーのメソッドを呼び出しません。

ユーザーがログアウトしたことを認証バックエンドに通知する方法を見つける必要があります。

  • 正確に WebSecurity.Logout は何をしますか?
  • ユーザーがログアウトしたことをメンバーシップ プロバイダーに通知するにはどうすればよいですか?
4

1 に答える 1

4
  • 正確に WebSecurity.Logout は何をしますか?

SignOutクラスのメソッドを呼び出してFormsAuthentication、フォーム認証 Cookie を削除します。

  • ユーザーがログアウトしたことをメンバーシップ プロバイダーに通知するにはどうすればよいですか?

ユーザーがログインしたかログアウトしたかを知ることは、メンバーシップ プロバイダーの責任ではありません。現在のユーザーが認証されているかどうかをテストするには[Authorize]、コントローラー アクションで属性を使用するか、を呼び出す必要があります。User.IsInRole("someRole")

于 2013-03-08T13:42:34.947 に答える