C#-Asp.net核心身份成功登录重定向回登录页面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-Asp.net核心身份成功登录重定向回登录页面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1760字,纯文字阅读大概需要3分钟。
内容图文
![C#-Asp.net核心身份成功登录重定向回登录页面](/upload/InfoBanner/zyjiaocheng/686/e90ca5c030624e6d9b5758815ba34c36.jpg)
我有一个问题,在他们成功登录后,asp.net身份框架会将用户重定向回登录页面.
这是使用标准的Asp.net Core Identity.它是版本2.1.1.生成剃须刀页面的脚手架.不知道这是否有意义.
我知道用户已成功登录,因为我收到了日志消息
…Areas.Identity.Pages.Account.LoginModel: Information: User logged in.
但随后,它将直接重定向回登录页面.
如果我使用提琴手,那么我可以看到请求上有一个cookie,因此从该角度来看,它看起来都很不错.
.AspNetCore.Identity.Application=CfDJ8KJxkuir9ZJIjFLCU2bzm9n6X...
因此,我猜正在处理身份验证但不接受Cookie的中间件?
如果我可以看到auth的实际中间件在做什么,那么我可能有一个主意,但找不到.
任何帮助表示赞赏
解决方法:
为了使ASP.NET Core管道能够识别用户已登录,在Startup类的Configure方法中需要调用UseAuthentication,如下所示:
app.UseAuthentication();
app.UseMvc(); // Order here is important (explained below).
通过使用Cookies身份验证方案,UseAuthentication的使用大致执行以下操作:
>从请求中读取.AspNetCore.Identity.Application cookie的内容,该内容代表发出请求的用户的身份.
>使用代表该用户的ClaimsPrincipal填充HttpContext的User属性.
这是对发生的情况的简化说明,但是它突出了身份验证中间件执行的重要工作.如果没有身份验证中间件,则.AspNetCore.Identity.Application将不用于身份验证用户,因此将不对用户进行身份验证.在您的情况下,尽管用户已登录(即正在设置cookie),但是管道中间件(例如MVC)没有看到该用户(即未读取cookie),因此看到了未经身份验证的请求并针对登录.
鉴于身份验证中间件读取了cookie并随后填充了ClaimsPrincipal,因此应该清楚,UseAuthentication调用也必须在UseMvc调用之前,以使其以正确的顺序发生.否则,MVC中间件将在身份验证中间件之前运行,并且将无法与填充的ClaimsPrincipal一起使用.
Why is it failing to login if you don’t add the middleware that handles the login?!?
中间件不处理登录-它处理身份验证过程.用户已登录,这由.AspNetCore.Identity.Application cookie的存在来确认.这里失败的是读取所述cookie.
内容总结
以上是互联网集市为您收集整理的C#-Asp.net核心身份成功登录重定向回登录页面全部内容,希望文章能够帮你解决C#-Asp.net核心身份成功登录重定向回登录页面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。