我正在ASP.NET MVC中创建我的第一个站点,我想知道如何根据特定用户的特定项目设置访问权限或角色。
我的网站包含项目和用户,每个用户都可以成为一个或多个项目的成员。作为项目成员的每个用户将被分配到与该项目相关的一些角色。但是,可以为每个用户分配不同的角色。
无论如何,我可以利用内置的会员角色来做这样的事情吗?从我看到用户的分配到应用于整个网站的角色,而不是像项目那样的特定项目。
我正在考虑通过将ProjectId和项目角色连接成一个组合角色(如3213ProjectEditor)来创建角色。所以稍后我可以使用User.IsInRole(currentProject.ID+"ProjectEditor")
来确定用户是否是currentProject中的编辑器。这对我来说似乎是个黑客。
答案 0 :(得分:0)
使用现有Role和User类的内置Authorization提供程序过于依赖于Request和Response以及底层的Http连接。因此,在您的案例中使用这些类并不是一个好主意。
但是,您可以获取内置类源here以供参考,并构建您自己的域模型。