在 ASP.NET(MVC 和 WebAPI)中,如何使用 FormsAuthentication cookie 中的数据初始化用户身份对象?
我想要做的是使用两种类型的身份验证,基于 cookie 的身份验证和基于自定义 header 的身份验证。由于 AuthorizeAttribute
类仅检查 User.Identity.IsAuthorized()
方法,并且不使用特定于 FormsAuthentication 的代码,那么这意味着我所要做的就是手动设置User.Identity
对象,无论是在 global.asax 中还是在 DelegatingHandler 中。
那么,如何设置 User.Identity?框架如何使用 FormsAuthentication 自动设置它?
最佳答案
这是一个related answer .
身份可以在处理程序、模块或 Global.asax 中设置。您可以在请求生命周期中的任何时刻修改它,但通常最好的位置是在 PostAuthenticateRequest 中。此时,FormsAuthentication 已完成其工作,您可以扩充或替换 HttpContext.Current.User。
关于asp.net-mvc - 用户身份如何?应用程序生命周期中的主体集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353068/