如何使用现有的AD组在ASP.NET中实现角色
问题描述:
我想在我的Web应用程序(.NET 4.0.3)中实现一些基于角色的功能,以便我可以控制用户可以基于他们的角色,无论是管理员或用户。如何使用现有的AD组在ASP.NET中实现角色
我只是使用现有的AD组来管理角色。假设我的组织中有一个团队由名为“IT经理”的AD组代表,另一个团队拥有AD团队IT支持。我只想将IT经理以管理员身份和IT支持作为用户映射。
我可以很容易地使用WindowsPrincipal.IsInRole()来检查当前登录的用户是否属于任何组,但是如何告诉应用程序登录用户拥有管理员角色或用户角色,因此网站地图安全修整可以选择这个?
答
通过实现您的自定义角色提供程序。一旦实施,你可以方便地使用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
我试图实现我自己的RoleProvider和它的工作。我最初的功能数量似乎都需要实施。不过,我只实现了GetRolesForUser和IsUserInRole。它按预期工作。谢谢! –
不客气! – Leo