Asp.net mvc 在应用程序生命周期中,如何设置用户标识|主体
在ASP.NET(MVC和WebAPI)中,如何使用FormsAuthenticationCookie中的数据初始化用户标识对象 我想做的是使用两种类型的身份验证,基于cookie的身份验证和基于自定义头的身份验证。由于Asp.net mvc 在应用程序生命周期中,如何设置用户标识|主体,asp.net-mvc,forms-authentication,asp.net-web-api,Asp.net Mvc,Forms Authentication,Asp.net Web Api,在ASP.NET(MVC和WebAPI)中,如何使用FormsAuthenticationCookie中的数据初始化用户标识对象 我想做的是使用两种类型的身份验证,基于cookie的身份验证和基于自定义头的身份验证。由于AuthorizeAttribute类只检查User.Identity.IsAuthorized()方法,并且不使用特定于FormsAuthentication的代码,因此这意味着我所要做的就是手动设置User.Identity对象,无论是在global.asax还是在Deleg
AuthorizeAttribute
类只检查User.Identity.IsAuthorized()
方法,并且不使用特定于FormsAuthentication的代码,因此这意味着我所要做的就是手动设置User.Identity
对象,无论是在global.asax还是在DelegatingHandler中
那么,如何设置User.Identity?框架如何使用FormsAuthentication自动设置它?下面是一个示例
标识可以在处理程序、模块或Global.asax中设置。您可以在请求生命周期的任何时候对其进行修改,但通常最好在PostAuthenticateRequest中进行修改。此时,FormsAuthentication已经完成了它的工作,您可以扩充或替换HttpContext.Current.User。ASP.NET MVC控制器有一个,但Web API没有。它当前正在被放入。我可以做:
HttpContext.Current.User
@Lolcoder这不太好。这是过去静态/线程存储区的遗留问题。它不能进行单元测试。所以根据Aliostad所说的,一旦我设置了身份,如果他们添加了User.Controller
,身份就会传递给我吗?