ASP.NET中的授权,用于根据登录访问一组子目录

时间:2012-08-12 12:58:46

标签: asp.net

场景:Web应用程序由根目录(打开,无授权)和许多子目录组成(我们称之为Sub1,Sub2和Sub3)。此外,当提供用户名时,有一种方法联系SP并返回由子目录的名称组成的IEnumerable<String>,该特定用户应该被允许访问该名称。以上是不可改变的。

我想知道解决这个问题的最新方式是什么。我不能依赖AD,存储在cookie或会话变量中的简单授权不允许可访问的子目录多样化。

我非常有信心能让它发挥作用,但我想以可口的方式做到这一点。

连连呢?

1 个答案:

答案 0 :(得分:1)

对我而言,听起来你可以在每个子文件夹中加上web.config

<authorization>
   <allow roles="SubfolderName" />
   <deny users="*" />
</authorization>

然后,对于每个用户,将此IEnumerable<string>子文件夹列表的结果附加到角色管理器中用户的角色。

这样,尝试访问该文件夹的每个用户都将在他/她的角色列表中具有适当的角色,并且url授权模块将允许用户访问该文件夹。

相关问题