我正在创建一个Asp.net MVC应用程序,我目前正在使用示例MVC应用程序附带的内置身份验证/授权代码。在大多数情况下,这是正常的,我有点理解发生了什么。
但是我关心的是,现在我的用户将两个数据库存储在两个不同的表中。即,我的应用程序数据库中的用户代表应用程序中的“客户”实体,以及用于登录应用程序的用户身份验证数据库中的“用户”。
我应该使用登录用户的User.Identity.Name值并在我的Customers表中查找,还是应该将它们合并到一个表中?处理此问题的最佳做法是什么?
请原谅我的无知 - 这是我第一次使用这样的系统。
非常感谢任何反馈!
答案 0 :(得分:4)
将人员与应用程序数据相关联的凭据和记录视为两个截然不同的事情是有帮助的。根据应用程序的不同,您的客户可能没有登录凭据,或者您可能拥有登录但与您的应用程序数据无关的管理用户。
如果用户访问具有不同权限的多个应用程序,则单独的凭据也很有用。
由于这些原因,我会将客户和用户分开,并在适当的时候从另一个看起来。
答案 1 :(得分:2)
您可以扩展.Net会员提供商以获取您想要的所有信息,并在我认为的单一模型中回发。
请参阅此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