【问题标题】:ASP.NET MVC, forms auth or custom when using EF 4?ASP.NET MVC,使用 EF 4 时形成身份验证或自定义?
【发布时间】:2013-04-07 01:01:41
【问题描述】:

我是 ASP.NET 世界的新手。因为我想使用 ORM,所以我似乎想要一个实体来代表用户或成员或其他任何东西,而不是表单身份验证 api 隐藏的一些数据。事实上,我不明白没有一个人我怎么能活。

人们如何处理这个问题?滚动您自己的身份验证?或者是否有将表单身份验证与实体框架结合的最佳实践?

简而言之,因为无论如何我都需要一个用户和角色实体来进行查询,我应该跳过表单身份验证还是找到使用它的方法?

谢谢

【问题讨论】:

    标签: asp.net-mvc entity-framework entity-framework-4


    【解决方案1】:

    EF 和 Forms Auth 实际上是两个不同的领域。您可以非常轻松地在没有 ASP.NET 成员资格的情况下使用 Forms Auth,并轻松推出自己的提供程序。

    本教程将向您展示如何:

    http://msdn.microsoft.com/en-us/library/ms172766(VS.80).aspx

    使用 ASP.NET MVC,您应该真正使用标准身份验证,因为您可以使用角色的属性非常轻松地管理对控制器的访问。

    【讨论】:

    • 我明天要看看这个,非常感谢您的快速回答。这整个领域一直很混乱......
    【解决方案2】:

    FormsAuthentication 本身并不关心身份存储,并且只能通过 Authenticate 方法验证存储在 web.config <credentials> 部分中的凭据。登录页面的标准实现使用静态Membership 类来管理配置文件中指定的MembershipProvider(通常为SqlProfileProvider)中的身份和凭据。

    但是,您不必使用 ASP.NET 的成员资格提供程序功能来维护您的身份,您仍然可以使用 FormsAuthentication 就可以了。 forms authentication control flow 表明表单身份验证主要处理在 cookie 中为用户创建和维护身份验证票证。它不处理用户身份或个人资料本身,因为它不关心这些。

    因此,您可以安全地使用 EF 来维护您的用户配置文件,包括凭据,并对登录页面中提供的凭据进行身份验证,同时仍然使用 FormsAuthnetication

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      相关资源
      最近更新 更多