2009-10-09 15 views
5

Powiel możliwe:
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?ASP.Net MVC klienta uwierzytelniania

Czekam na stworzenie własnego modelu uwierzytelniania dla mojej aplikacji MVC, ale nie jestem pewien, gdzie do wdrożenia moje niestandardowe klasy IPrincipal i IIdentity. Nie chcę tego robić w Global.asax na każde żądanie, ponieważ nie wszystkie strony w witrynie będą wymagały uwierzytelnienia. Moje pytanie brzmi: gdzie? Czy powinienem to robić w moich niestandardowych filtrach akcji dla działań, które wymagają zalogowania się użytkownika?

Nie chcę używać dostawcy członkostwa ani uwierzytelniania formularzy, musi to być całkowicie niestandardowe i oddzielone.

+0

To powinno być otwarte. Wymieniony zduplikowany link obejmuje autoryzację, ale nie uwierzytelnianie. –

Odpowiedz

0

Czy rozważałeś utworzenie oddzielnej klasy bazowej dla kontrolerów?

Można zastąpić zdarzenie OnActionExecuting aby sprawdzić, czy użytkownik jest uwierzytelniony ... coś takiego:

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 

Następnie wszelkie sterowniki do stron, na których użytkownik potrzebuje być uwierzytelniony, dziedziczą z tej klasy zamiast standardowej klasy kontrolera.

+0

Jest to coś, czego chcę, ale kiedy sprawdzam bieżący obiekt użytkownika kontekstu, chcę, aby był on moją implementacją obiektu IPrincipal, a nie tego, który został domyślnie utworzony. – Gazeth

Powiązane problemy