在ASP.NET(MVC和WebAPI)中,如何使用FormsAuthentication cookie中的数据初始化User Identity对象?
我想要做的是使用两种类型的身份验证,基于cookie和基于自定义标头。由于AuthorizeAttribute
类仅检查User.Identity.IsAuthorized()
方法并且不使用特定于FormsAuthentication的代码,因此这意味着我所要做的就是手动设置User.Identity
对象,无论是在全局中。 asax或在DelegatingHandler中。
那么,我该如何设置User.Identity?框架如何使用FormsAuthentication自动设置它?
答案 0 :(得分:1)
可以在处理程序,模块或Global.asax中设置标识。您可以在请求生命周期的任何时候修改它,但通常最好的地方是在PostAuthenticateRequest中。此时,FormsAuthentication已完成它的工作,您可以扩充或替换HttpContext.Current.User。
答案 1 :(得分:0)
ASP.NET MVC Controller有Controller.User但Web API没有。目前正在申请requested。