编程语言
首页 > 编程语言> > c#-将角色分组在一起并将用户分配到组(ASP.NET角色提供程序)

c#-将角色分组在一起并将用户分配到组(ASP.NET角色提供程序)

作者:互联网

是否有任何现有的解决方案可以扩展内置的SQL Membership Provider& .NET中具有组成员身份概念的Sql角色提供程序.

现在,角色关系看起来像

Users ====> UserRoles <=====Roles

我想将其扩展为

Users ====> UserGroups <==== Groups ====> GroupRoles <==== Roles.

假设您有一个具有30或40个不同角色的应用程序.每次新员工加入公司时,您都必须记住部门通常获得的那一组角色.然后在设置其网站帐户时确保选中这8个复选框.

如果您具有小组概念,则可以为每个部门设置一个“小组”,作为部门员工通常获得的角色的逻辑分组.然后,您可以将新员工添加到单个组中.

是否有任何可用的现成的实现方式,可以节省编写自己的代码的工作?

解决方法:

我假设您所需的模型基本上像mine here,不是吗?我的角色只是一个用户组,其权限由AccessRule控制.

我的方法的优点是您根本不需要实现自定义RoleProvider,因为它可以使它看起来毫无动静. ASP.NET不需要知道我在另一端对其进行了增强.我还实现了模板功能,该功能可以通过使用另一个角色作为模板来创建新的角色.这是其他角色(或默认角色)的AccessRules列表.我不需要使用IsInRole来检查授权.我已经实现了自己的hasAccess方法,该方法检查用户是否属于具有给定AccessRule(例如DeleteXY)的角色.

标签:roleprovider,membership-provider,asp-net,c
来源: https://codeday.me/bug/20191201/2082803.html