动态拒绝对位置的访问
本文关键字:访问 位置 拒绝 动态 | 更新日期: 2023-09-27 18:10:46
我正在寻找动态指示ASP。. NET拒绝对特定位置的访问。因此,在Web中没有像下面这样的东西。我想通过c#代码来实现。
<location path="specialDir"> <system.webServer> <security> <authorization> <add accessType="Deny" roles="FileDeny" /> </authorization> </security> </system.webServer> </location>
任何想法?
void Page_Load( ... )
{
if ( this.Context.User != null &&
!this.Context.User.IsInRole( "FileDeny" )
)
Response.Redirect( FormsAuthentication.LoginUrl );
这将是页面级别上最简单的解决方案。任何更奇特的东西,如自定义授权模块或基页类都是可能的。
我不知道您的需求是什么,但是您可以有一个基页类,它通过运行目录/页面信息(带有用户凭据)来解析请求uri,并通过您将用于确定访问该目录/页面的授权的任何函数来确定访问级别。
我会用另一种方式来做——用预先选择的文件夹权限将文件添加到文件夹中。你这样做可能有你的理由,但是……如果稍后添加新的权限/角色怎么办?最好采用基于数据库的方法,对分配给文件夹(并存储在DB表中)的用户权限/角色进行交叉检查。
更好的方法可能是使用单个文件夹,并从数据库字段值分配访问权限。