场景:Web应用程序由根目录(打开,无授权)和许多子目录组成(我们称之为Sub1,Sub2和Sub3)。此外,当提供用户名时,有一种方法联系SP并返回由子目录的名称组成的IEnumerable<String>
,该特定用户应该被允许访问该名称。以上是不可改变的。
我想知道解决这个问题的最新方式是什么。我不能依赖AD,存储在cookie或会话变量中的简单授权不允许可访问的子目录多样化。
我非常有信心能让它发挥作用,但我想以可口的方式做到这一点。
连连呢?
答案 0 :(得分:1)
对我而言,听起来你可以在每个子文件夹中加上web.config
<authorization>
<allow roles="SubfolderName" />
<deny users="*" />
</authorization>
然后,对于每个用户,将此IEnumerable<string>
子文件夹列表的结果附加到角色管理器中用户的角色。
这样,尝试访问该文件夹的每个用户都将在他/她的角色列表中具有适当的角色,并且url授权模块将允许用户访问该文件夹。