ASP.NET MVC站点中的项特定权限

时间:2011-04-28 02:10:27

标签: asp.net-mvc asp.net-roles

我正在ASP.NET MVC中创建我的第一个站点,我想知道如何根据特定用户的特定项目设置访问权限或角色。

我的网站包含项目和用户,每个用户都可以成为一个或多个项目的成员。作为项目成员的每个用户将被分配到与该项目相关的一些角色。但是,可以为每个用户分配不同的角色。

无论如何,我可以利用内置的会员角色来做这样的事情吗?从我看到用户的分配到应用于整个网站的角色,而不是像项目那样的特定项目。

我正在考虑通过将ProjectId和项目角色连接成一个组合角色(如3213ProjectEditor)来创建角色。所以稍后我可以使用User.IsInRole(currentProject.ID+"ProjectEditor")来确定用户是否是currentProject中的编辑器。这对我来说似乎是个黑客。

1 个答案:

答案 0 :(得分:0)

使用现有Role和User类的内置Authorization提供程序过于依赖于Request和Response以及底层的Http连接。因此,在您的案例中使用这些类并不是一个好主意。

但是,您可以获取内置类源here以供参考,并构建您自己的域模型。