【问题标题】:How should I handle Authorization/Authentication in my Asp.net MVC app?我应该如何在我的 Asp.net MVC 应用程序中处理授权/身份验证?
【发布时间】:2010-12-05 20:18:37
【问题描述】:

我正在创建一个 Asp.net MVC 应用程序,我目前正在使用示例 MVC 应用程序附带的内置身份验证/授权代码。在大多数情况下,这工作正常,我有点明白发生了什么。

但我担心的是,现在我将我的用户存储在跨两个数据库的两个不同表中。即,我的应用程序数据库中有代表应用程序中“客户”实体的用户,以及用于将某人登录到应用程序的身份验证数据库中的“用户”。

我应该获取登录用户的 User.Identity.Name 值并在我的客户表中查找,还是应该将它们合并到一个表中?处理此问题的最佳做法是什么?

请原谅我的无知 - 这是我第一次使用这样的系统。

非常感谢任何反馈!

【问题讨论】:

    标签: asp.net-mvc security authentication forms-authentication


    【解决方案1】:

    将凭据和将个人与应用程序数据相关联的记录视为两个截然不同的事物会很有帮助。根据应用程序,您的客户可能没有登录凭据,或者您可能拥有登录但与您的应用程序数据无关的管理用户。

    如果用户访问多个具有不同权限的应用程序,单独的凭据也很有用。

    出于这些原因,我会将客户和用户分开,并在适当的情况下相互查找。

    【讨论】:

    • 这也是我的想法。还在等着看我是否听到其他意见。
    【解决方案2】:

    您可以扩展 .Net Membership Provider 以获取您想要的所有信息并在我认为的单个模型中回发。

    看到这个ASP.net Profiles and Membership - Custom Providers or should completely I roll my own?

    还有这个How to implement ASP.NET membership provider in my domain model

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2011-12-30
      • 2014-08-09
      • 1970-01-01
      • 2011-03-12
      • 1970-01-01
      相关资源
      最近更新 更多