2010-09-22 72 views
0

我的应用程序设计和MVC会员资格有一个小问题。ASP.NET MVC会员资格

在我的网站我有3个表格:用户,客户和作者,他们都没有相互关联,但他们每个都连接到一堆其他表,所以我不能将它们合并成一个大用户表。

我不知道如何实现所有的会员资格,授权的东西,因为我有三个登录表单,每个DB实体和调用User.Identity.IsAuthenticated时,我将无法辨别谁是登录。

任何想法?

回答

0

我的建议是你移动到一个用户表。只需在用户表中添加一个字段,以决定用户的类型(客户,作者等)。无需将所有表格合并为一个。

2

听起来就像基于角色的授权,如果您使用内置的ASP.NET Membership Provider,它非常简单。

为用户,客户,作者创建角色。

然后,你可以这样做:

if (User.Identity.IsAuthenticated) 
{ 
    if (User.IsUserInRole("Customer") 
     ... 
    else if (User.IsUserInRole("Author") 
     ... 
} 

Here's一个简要概述的文章。

虽然这样说,重新认为你的设计有这3张桌子。

你可以很容易地与所有的用户有一张桌子。此表不需要关心每个记录是“什么类型的用户”,这是由ASP.NET成员资格提供程序处理的。