以下のようにフォーム認証Cookieを設定しています
FormsAuthentication.SetAuthCookie("test", true);
そして、そのセットがnullを返すかどうかを確認すると...
Context.User.Identity.Name
なぜこれが起こっているのですか?ありがとう
以下のようにフォーム認証Cookieを設定しています
FormsAuthentication.SetAuthCookie("test", true);
そして、そのセットがnullを返すかどうかを確認すると...
Context.User.Identity.Name
なぜこれが起こっているのですか?ありがとう
フォーム認証 Cookie を設定した後は、常にリダイレクトする必要があります。
public ActionResult SomeAction()
{
FormsAuthentication.SetAuthCookie("test", true);
return RedirectToAction("FooBar");
}
リダイレクト先の後続のアクションでのみ、User.Identity.Name
適切に初期化されます。その理由は非常に単純です。User.Identity.Name
プロパティはリクエスト Cookie (別名受信 Cookie) から初期化されますがFormsAuthentication.SetAuthCookie
、フォーム認証が応答 (Cookie の発行) に設定されているため、後続の要求ではこの Cookie が要求で送信されます。 .