【问题标题】:ASP.Net MVC Custom Authentication [duplicate]ASP.Net MVC 自定义身份验证 [重复]
【发布时间】:2009-10-09 16:51:57
【问题描述】:

可能重复:
Is it possible to create a Logon System with ASP.NET MVC but not use the MembershipProvider?

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

我不希望使用 Membership Provider 或 Forms Authentication,这需要完全自定义和分离。

【问题讨论】:

  • 这应该保持打开状态。列出的重复链接涵盖授权,但不包括身份验证。

标签: asp.net-mvc authentication


【解决方案1】:

您是否考虑过为您的控制器创建一个单独的基类?

您可以覆盖 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 

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

【讨论】:

  • 这是我想要的,但是当我检查当前上下文用户对象时,我希望它是我对 IPrincipal 对象的实现,而不是默认创建的对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-06
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多