在ASP.NET MVC结构中向用户添加公司

时间:2015-02-04 12:55:23

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

我最近一直在阅读和使用ASP.NET MVC,以确定它是否会成为现有产品的新框架。

该产品由一个多用户网站组成,客户由我创建并添加到各自的公司。然后,每个用户都可以在自己公司的范围内进行一些操作,添加数据等。

我如何在MVC中创建类似的结构? 我基本上想成为“超级管理员”,可以创建新用户,将其添加到公司并控制他们的权利。 普通用户在其公司内也将拥有不同的用户角色(管理员,用户,访客)。

我已经完成了其他所有设置(MVC和实体框架非常棒),但我只需要最后一层分离。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

这真的有两件事。首先是角色。只需在公司角色与整个应用程序的角色之间创建一个明确的名称,例如:"管理员"," CompanyAdmin"," CompanyUser"和&# 34; CompanyGuest&#34 ;.在那里,我的意思是"公司",而不是特定公司名称的占位符。您应该只有一组适用于所有公司用户的角色。

第二部分是一种所有权授权形式。每个用户都被分配到公司,当然是通过用户实体上的外键。您的路线将包含一些标识正在使用的公司的组件,无论是通过子域还是仅仅是路径的一部分,即/FooInc/Bar/Baz。在您的操作中,您将使用此组件从您的pesistence商店中查找公司,然后将其与分配给用户的公司进行比较。如果两者不匹配,则返回403.否则,让用户继续。

有很多方法可以做。您可以使用动作过滤器,基本控制器等。这在很大程度上取决于您和您的应用程序的需求。无论如何,ASP.NET MVC非常有能力处理这样的事情。