用户身份如何?在应用程序生命周期中设置的主体

时间:2012-04-27 15:03:51

标签: asp.net-mvc forms-authentication asp.net-web-api

在ASP.NET(MVC和WebAPI)中,如何使用FormsAuthentication cookie中的数据初始化User Identity对象?

我想要做的是使用两种类型的身份验证,基于cookie和基于自定义标头。由于AuthorizeAttribute类仅检查User.Identity.IsAuthorized()方法并且不使用特定于FormsAuthentication的代码,因此这意味着我所要做的就是手动设置User.Identity对象,无论是在全局中。 asax或在DelegatingHandler中。

那么,我该如何设置User.Identity?框架如何使用FormsAuthentication自动设置它?

2 个答案:

答案 0 :(得分:1)

这是related answer

可以在处理程序,模块或Global.asax中设置标识。您可以在请求生命周期的任何时候修改它,但通常最好的地方是在PostAuthenticateRequest中。此时,FormsAuthentication已完成它的工作,您可以扩充或替换HttpContext.Current.User。

答案 1 :(得分:0)

ASP.NET MVC Controller有Controller.User但Web API没有。目前正在申请requested