2009-10-09 34 views
5

Duplicar posibles:
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?ASP.Net MVC personalizada autenticación

Estoy mirando para crear un modelo de autenticación personalizado para mi aplicación MVC, pero no estoy seguro de dónde poner en práctica mis clases personalizadas IPrincipal y IIdentity. No deseo hacer esto en Global.asax en cada solicitud, ya que no todas las páginas del sitio necesitarán autenticación. ¿Entonces mi pregunta es dónde? ¿Debo hacer esto en mis filtros de acción personalizados para las acciones que requieren que el usuario inicie sesión?

No deseo utilizar el Proveedor de Membresía o la Autenticación de Formularios, esto debe ser completamente personalizado y separado.

+0

Esto debería haberse mantenido abierto. El enlace duplicado enumerado cubre la autorización, pero no la autenticación. –

Respuesta

0

¿Ha considerado crear una clase base separada para sus controladores?

Puede anular el evento OnActionExecuting a comprobar para ver si el usuario es autenticado ... algo así como:

Public Class AuthenticatedPageController 
    Inherits Controller 

    Protected Overrides Sub OnActionExecuting(ByVal filterContext As ActionExecutingContext) 
    // Code to check user is authenticated - if not chuck them to the log in page... 

    End Sub 


End Class 

Entonces, todos los controladores de las páginas donde el usuario necesita ser autenticado, heredan de esta clase en lugar de la clase de controlador estándar.

+0

Esto es lo que quiero, pero cuando verifico el objeto de usuario de contexto actual, quiero que sea mi implementación del objeto IPrincipal y no la creada de manera predeterminada. – Gazeth

Cuestiones relacionadas