2012-04-27 9 views
7

En ASP.NET (MVC y WebAPI), ¿cómo se inicializa el objeto de Identidad de usuario con los datos de la cookie FormsAuthentication?¿Cómo es la identidad del usuario | Conjunto principal durante el ciclo de vida de la aplicación

Lo que quiero hacer es utilizar 2 tipos de autenticación, basada en cookies y una basada en un encabezado personalizado. Como la clase AuthorizeAttribute solo verifica el método User.Identity.IsAuthorized() y no utiliza ningún código específico para FormsAuthentication, significa que todo lo que tengo que hacer es configurar manualmente el objeto User.Identity, ya sea en global.asax o en DelegatingHandler.

Entonces, ¿cómo configuro User.Identity? ¿Cómo lo configura automáticamente el marco utilizando FormsAuthentication?

Respuesta

1

Aquí hay un related answer.

La identidad se puede configurar en un controlador, en un módulo o en Global.asax. Puede modificarlo en cualquier punto del ciclo de vida de la solicitud, pero generalmente el mejor lugar para hacerlo es en PostAuthenticateRequest. En este punto, FormsAuthentication lo ha hecho y usted puede aumentar o reemplazar el HttpContext.Current.User.

+1

De acuerdo con lo que dijo Aliostad, una vez que configure la identidad, si agregan 'User.Controller', ¿la identidad se transmitirá a eso? –

0

ASP.NET MVC Controller tiene un Controller.User pero Web API no tiene uno. Actualmente está siendo requested para ponerlo.

+1

Puedo hacer: 'HttpContext.Current.User' –

+0

@Lolcoder Eso no es genial. Es un rezago del área de almacenamiento estático/de hilos del pasado. ** No puede ser probado en una unidad **. – Aliostad

Cuestiones relacionadas