ASP.Net MVC自定义身份验证

Gaz*_*Gaz 5 authentication asp.net-mvc

可能重复:
是否可以使用ASP.NET MVC创建登录系统但不能使用MembershipProvider?

我正在寻找为我的MVC应用程序创建自定义身份验证模型,但我不确定在哪里实现我的自定义IPrincipal和IIdentity类.我不想在每个请求的Global.asax中执行此操作,因为并非站点中的所有页面都需要身份验证.所以我的问题在哪里?我是否应该在自定义操作过滤器中执行此操作以执行需要用户登录的操作?

我不希望使用会员提供商或表单身份验证,这需要完全自定义和分离.

Pau*_*aul 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 
Run Code Online (Sandbox Code Playgroud)

然后,需要对用户进行身份验证的页面的任何控制器都从此类而不是标准控制器类继承。