限制在ASP.NET应用程序中访问AD角色

时间:2011-05-13 04:21:06

标签: asp.net active-directory roles

我是ASP.net开发的新手,我想知道如何继续解决某个问题。我可以访问使用单个网页的现有网站,以显示多个不同的报告(由查询字符串确定的报告类型)。条目default.aspx页面上显示了一组指向不同报告的链接。该网站由域上的用户在内部访问,其凭据存储在Active Directory用户存储中。

我被要求升级此网站的安全性,以便根据其AD角色向不同的用户显示不同的报告列表。我知道安全修整可以与站点地图提供程序结合使用,以限制不同用户或角色在ASP菜单控件中可以访问的内容。是否可以使用别名URL之类的安全修整,其中别名是指带有查询字符串的报告页面?

实现这一目标的任何其他直接方式(最好将角色映射到单个位置的报告)都可以。

感谢您的帮助。 诺曼

2 个答案:

答案 0 :(得分:0)

通常,您可以使用WindowsPrincipal.IsInRole重载之一检查用户是否属于某个角色。您需要做的是将角色与某些可配置存储中的报告关联(例如,数据库,xml文件等),然后使用此信息来确定特定报告是否适用于登录用户,然后控制报告链接的可见性。

答案 1 :(得分:0)

1 - 首先您需要在web.config文件中将身份验证模式更改为Windows身份验证。

2 - 然后从ToolBox登录部分使用LoginView控件

LoginView Control中的

3-选择Edit RoleGroups Link

4-开始添加与AD角色同名的角色

完成将Roles添加到loginView后,您可以从loginView

访问它们

6-选择LoginView的智能标记并查看列表指向特定角色

7-开始在步骤6中添加指向所选角色的登录视图的链接

8-对角色列表中的每个角色重复步骤7

=============================================== ===========

注意:此解决方案适用于Windows角色(即)角色数量不变且角色变化最小