我是MVC ASP.Net的新手。我需要在我的MVC 5 EF 6项目中创建两个管理员角色。第一个角色是管理员角色,它可以访问整个记录。另一个角色是只访问登录用户所属的特定部门记录。请建议实现这一点的最佳方法?
在数据库中创建一个用户表(即命名为Users)。然后插入员工详细信息,如StaffNumber、WindowsLogon(如果适用)、ForeName、Surname和AccessType(请查看下图)。在AccessType下声明您的角色(即AdminRole和AdminRole2)。这允许您的应用程序检测用户是谁以及他们是什么管理员角色。
StaffNumber WindowsLogon Forename Surename AccessType
12345 kesi_k kesi kesi AdminRole
在您的控制器中,您需要编写代码才能使这一切生效。
另一种选择是,根据您的用户数量,让您的系统管理员创建ative目录组,在您的情况下,您需要两个。然后将用户分为两组中的一组。在您的控制器中,您将使用User.IsInRole来确定哪个用户应该看到您想要的内容。希望下面的链接对你有用。
所以
自定义角色提供程序
在MVC 的ASP.NET标识中使用角色
会员资格和授权