【问题标题】:How to implement roles in ASP.NET using existing AD groups如何使用现有的 AD 组在 ASP.NET 中实现角色
【发布时间】:2014-01-04 13:15:10
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net sitemap roles


    【解决方案1】:

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

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

    等等

    您可以通过实现 RoleProvider 抽象类或扩展现有的类(如 SqlRoleProvider)来实现 Role Provider。那里有很多广泛的文档。我贴几个链接

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

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

    【讨论】:

    • 我尝试实现自己的 RoleProvider 并且成功了。最初,我对似乎都需要实现的功能数量感到不知所措。但是我只实现了 GetRolesForUser 和 IsUserInRole。它按预期工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2011-04-24
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多