我的应用程序设计和MVC会员资格有一个小问题。ASP.NET MVC会员资格
在我的网站我有3个表格:用户,客户和作者,他们都没有相互关联,但他们每个都连接到一堆其他表,所以我不能将它们合并成一个大用户表。
我不知道如何实现所有的会员资格,授权的东西,因为我有三个登录表单,每个DB实体和调用User.Identity.IsAuthenticated时,我将无法辨别谁是登录。
任何想法?
我的应用程序设计和MVC会员资格有一个小问题。ASP.NET MVC会员资格
在我的网站我有3个表格:用户,客户和作者,他们都没有相互关联,但他们每个都连接到一堆其他表,所以我不能将它们合并成一个大用户表。
我不知道如何实现所有的会员资格,授权的东西,因为我有三个登录表单,每个DB实体和调用User.Identity.IsAuthenticated时,我将无法辨别谁是登录。
任何想法?
我的建议是你移动到一个用户表。只需在用户表中添加一个字段,以决定用户的类型(客户,作者等)。无需将所有表格合并为一个。
听起来就像基于角色的授权,如果您使用内置的ASP.NET Membership Provider,它非常简单。
为用户,客户,作者创建角色。
然后,你可以这样做:
if (User.Identity.IsAuthenticated)
{
if (User.IsUserInRole("Customer")
...
else if (User.IsUserInRole("Author")
...
}
Here's一个简要概述的文章。
虽然这样说,重新认为你的设计有这3张桌子。
你可以很容易地与所有的用户有一张桌子。此表不需要关心每个记录是“什么类型的用户”,这是由ASP.NET成员资格提供程序处理的。