繁体   English   中英

在Manager.SignInAsync之后-重定向到另一个页面导致注销

[英]After Manager.SignInAsync - redirect to another page caused log out

我已为除Index之外的所有页面添加了登录要求。

services.AddMvc()
        .AddRazorPagesOptions(options =>
        {
            options.Conventions.AuthorizeFolder("/");
            options.Conventions.AllowAnonymousToPage("/Index");
        })
        .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

您可以在Query ....?UserName=Whatever使用用户名进入我的索引页

我仅通过用户名登录用户。 登录成功后,我将重定向到另一个页面,但是需要用户名和密码(尽管登录成功!)。

Index.cshtml上的代码:

@{
   var user = 
   Manager.UserManager.FindByNameAsync(UserName).GetAwaiter().GetResult();
   Manager.SignInAsync(user, true).GetAwaiter().GetResult();
   if (Manager.IsSignedIn(user))
   {
        Response.Redirect(anotherPage, true);
   }
}

您需要在启动Configure方法中添加app.UseAuthentication()

app.UseAuthentication();
app.UseMvc(); // Order here is important.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM