我是ASP.net开发的新手,我想知道如何继续解决某个问题。我可以访问使用单个网页的现有网站,以显示多个不同的报告(由查询字符串确定的报告类型)。条目default.aspx页面上显示了一组指向不同报告的链接。该网站由域上的用户在内部访问,其凭据存储在Active Directory用户存储中。
我被要求升级此网站的安全性,以便根据其AD角色向不同的用户显示不同的报告列表。我知道安全修整可以与站点地图提供程序结合使用,以限制不同用户或角色在ASP菜单控件中可以访问的内容。是否可以使用别名URL之类的安全修整,其中别名是指带有查询字符串的报告页面?
实现这一目标的任何其他直接方式(最好将角色映射到单个位置的报告)都可以。
感谢您的帮助。 诺曼
答案 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角色(即)角色数量不变且角色变化最小