为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET Core Identity 不会重定向到正确的登录页面

ASP.NET Core Identity 不会重定向到正确的登录页面

C#
慕勒3428872 2022-12-31 10:47:01
以这种方式配置它不起作用。    services        .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)        .AddCookie(options =>        {            options.ExpireTimeSpan = TimeSpan.FromMinutes(5);            options.LoginPath = $"/logon";            options.LogoutPath = $"/logoff";            options.AccessDeniedPath = $"/accessdenied";            options.SlidingExpiration = true;        })以这种方式配置它正在工作:    services.ConfigureApplicationCookie(options =>    {        options.Cookie.Name = "Caldr.Auth";        options.LoginPath = $"/logon";        options.LogoutPath = $"/logoff";        options.AccessDeniedPath = $"/accessdenied";    });    services        .AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)我希望两者都有相同的行为。显然不是。错误或我没有得到如何配置它?:-)有什么想法吗。
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

在发布我的问题时,我也配置/添加了身份框架。因此,可能是多种因素共同作用导致它无法正常工作。


工作解决方案:


配置:


var authenticationBuilder = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)

    .AddCookie(options =>

    {

        options.LoginPath = $"/logon";

        options.LogoutPath = $"/logoff";

        options.AccessDeniedPath = $"/accessdenied";

    });

ConfigureSocialLogins(authenticationBuilder);

实际登录(即写入 cookie 是通过完成的)


private async Task SignInUser(AppUser appUser)

        {

            var claims = new List<Claim>

            {

                new Claim(ClaimTypes.NameIdentifier, appUser.Email),

                new Claim(ClaimTypes.Name, appUser.Displayname ?? appUser.Email),

                new Claim(ClaimTypes.Email, appUser.Email),

            };

            var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

            var claimsPrincipal = new ClaimsPrincipal(claimsIdentity);


            await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrincipal, new AuthenticationProperties());

        }

记下 CookieAuthenticationDefaults.AuthenticationScheme 的所有用法。


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信