2009-10-09 260 views
5

可能重複:
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?ASP.Net MVC自定義身份驗證

我希望創建一個自定義的認證模式爲我的MVC應用程序,但我不知道在哪裏執行我的自定義IPrincipal和IIdentity類。我不想在Global.asax中對每個請求執行此操作,因爲網站中的所有頁面都不需要身份驗證。所以我的問題是在哪裏?我應該在我的自定義操作過濾器中爲需要用戶登錄的操作執行此操作嗎?

我不希望使用成員資格提供程序或表單身份驗證,這需要完全自定義和分開。

+0

這應該保持開放。列出的重複鏈接包含授權,但不包括身份驗證。 – 2011-11-03 21:03:16

回答

0

你有沒有考慮爲你的控制器創建一個獨立的基類?

您可以覆蓋OnActionExecuting事件來檢查,看看是否在用戶通過認證......這樣的:

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 

然後,網頁,用戶需要進行身份驗證的任何控制器,從該類繼承而不是標準的控制器類。

+0

這是我想要的,但當我檢查當前上下文用戶對象時,我希望它是我的IPrincipal對象的實現,而不是默認創建的對象。 – Gazeth 2009-10-12 13:09:49