ControllerBase
クラス(Controller
クラスに継承されています)のSignIn
およびSignOut
メソッドの目的は何ですか。ControllerBaseのSignInとSignOutメソッドの目的は何ですか?
これらの2つの方法は、それぞれSignInResult
とSignOutResult
、(IActionResult
を実装する)、ベースクラスActionResult
から継承するの両方を返します。
SignInResult
とSignOutResult
のソースコードを参照すると、それぞれHttpContext.Authentication.SignInAsync()
とHttpContext.Authentication.SignOutAsync()
が呼び出されます。
しかし、私はこれらの2つの方法がどこにも使われていることは見たことがありません。 AccountController
を見ると、前述の方法ではなく、ApplicationSignInManager
を使用してサインインおよびサインアウトします。
これらはActionResult
なので、コントローラのアクションの戻り値として使用されると考えられます。
public IActionResult SignIn()
{
return SignIn(User, "Automatic");
}
しかし、これは明らかに何もしません。例えば、このようなものとして
。ユーザーにサインインしていないようで、ユーザーに何も返されないようです。どのパラメータを渡すべきかわかりませんが、User
(コントローラにはHttpContext
)があります。
だから、これらの2つの方法の目的は何ですか?それらはどのように使用されるのですか?
です。それが何も返さない理由を知っていますか?またはそれを使用する方法?どんなパラメータを指定するかなど – Fred
正直なところ、あなたがそれを求めているなら、それはあなたのためではありません。これは意味がありません。完全に理解していない場合や、サインインと認証のミドルウェアがどういった方法でハングアップしているのか分からない限り、使用しないでください。アイデンティティを使わずに直接Cookieミドルウェアを使用する方法については、https://docs.asp.net/en/latest/security/authentication/cookie.htmlを参照してください。しかし、大部分の人にとっては、最終的にやりたい – blowdart