1
NET MVC 5シンプルメンバーシッププロバイダ。すべてがうまくいけばユーザーを作成するときにログインしたが、後で彼についての情報を探したい。しかし、私はログインしたユーザーを取得することはできません。ログインした後に現在のユーザーを取得できないのはなぜですか?
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = UserManager.Create(user, model.Password);
if (result.Succeeded)
{
SignInManager.SignIn(user, isPersistent: false, rememberBrowser: false);
var id = User.Identity.GetUserId();
だから私は、デバッグだとUser.Identity.GetUserId();
そのnullに行くとき:これは私のコードです。それをチェックアウト:
あなたはすでにユーザーID: 'user.Id'を知っています。 'User.Identity'はリクエストのプロパティを調べ、まだ設定されていないので、あなたは認証されていないとみなされます。クッキーがクライアント上で設定されるため、クライアントからの** next **リクエストには正しいビットが設定されます。 –
@BrendanGreen実際に役立ちます。次のリクエストでその理由が分かっていますか? –