【问题标题】:How to best utilize ASP .NET Membership database?如何最好地利用 ASP .NET Membership 数据库?
【发布时间】:2009-08-31 08:43:28
【问题描述】:

我正处于开发 Web 应用程序的早期开发阶段。我目前正在审查是否应该使用 ASP .NET Membership 或自己编写。我更愿意使用 ASP .NET 成员资格来节省一些开发时间。需要帮助澄清有关如何最好地利用会员数据库的一些歧义:

  • Membership 创建一个新数据库。哪个更好,为我使用相同的数据库 应用程序数据库或为我的应用程序创建一个新数据库?为什么?
  • 如果我要为我的应用程序创建一个新数据库。哪个更好,在我的应用程序数据库中创建一个新的用户表,还是在会员数据库中重用/扩展用户表?

提前致谢,

温迪

【问题讨论】:

    标签: asp.net security asp.net-membership


    【解决方案1】:

    我自己是会员/角色/资料提供者的粉丝,所以我有点偏见。基本上,如果我要评估项目使用什么,我会查看需求。如果默认设置适合您,我认为没有理由实现您自己的会员功能。它有许多功能和一些非常好的优化(例如出于性能原因使用小写用户名和电子邮件的列)。

    我通常为我的数据和会员资格创建一个数据库。我通过添加用户名列而不是外键来链接其他表,以避免删除用户时出现问题。更重要的是,作为用户 ID 的 GUID 无法通过成员资格提供程序接口检索,如果您想通过用户 ID 引用内容,则需要编写自己的存储过程。

    【讨论】:

    • +1 - DRY - 不要重复自己 - 如果存在良好的会员/角色系统并处理您需要的所有内容(或者即使您可以轻松扩展它以处理您的所有需求) - 使用它!不要重复发明轮子无数次:-)
    【解决方案2】:

    关于是否分离数据库的问题,如果您有资源(例如,您不在具有单个 sql server db 的共享主机上),分离往往是可行的方法。主要优点是用户数据往往是特定于应用程序的(例如,您不需要在 QA 中使用生产用户数据),因此将其单独保存会使事情变得更简洁,因为您只需要处理应用程序的数据.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多