如何使用现有AD组在ASP.NET中实现角色

时间:2013-12-16 23:16:28

标签: asp.net sitemap roles

我正在尝试在我的Web应用程序(.NET 4.0.3)中实现一些基于角色的功能,以便我可以根据用户的角色(管理员或用户)控制用户可以看到的菜单项。

我只是使用现有的AD组来管理角色。假设我的组织中有一个团队由一个名为IT-Managers的AD组代表,另一个团队有AD组IT支持。我只想将IT管理员作为管理员和IT支持作为用户进行映射。

我可以轻松使用WindowsPrincipal.IsInRole()来检查当前登录的用户是否属于任一组,但是如何告诉应用程序登录用户是否拥有管理员角色或用户角色,因此安全修整可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

通过实施自定义角色提供程序。实现后,您可以轻松使用ASP.NET角色提供程序框架....

Roles.IsUserInRole("Admin");
Roles.GetUsersInRole("Users");

您可以通过实现RoleProvider抽象类或扩展现有的抽象类(如SqlRoleProvider)来实现角色提供程序。那里有很多大量的文档。我会粘贴几个链接

http://msdn.microsoft.com/en-us/library/aa478950.aspx

http://www.codeproject.com/Articles/28546/Active-Directory-Roles-Provider