如果判断一个用户或角色对某一文件夹有访问权限?

jaden1024 2008-12-10 05:48:59
如果判断一个用户或角色对某一文件夹有访问权限?
web.config内容如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="系统管理员" />
<deny users="?" />
</authorization>
</system.web>
</configuration>
我要在登录时判断用户是否对此文件夹有访问权限,如果此用户不属于“系统管理员”组则提示登录失败
...全文
175 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
supremeholy 2008-12-11
  • 打赏
  • 举报
回复
参考:
http://blog.csdn.net/cityhunter172/archive/2005/11/06/524043.aspx
http://blog.csdn.net/cityhunter172/archive/2005/11/13/528463.aspx
http://blog.csdn.net/cityhunter172/archive/2005/12/06/545301.aspx
http://blog.csdn.net/cityhunter172/archive/2005/12/31/567479.aspx
supremeholy 2008-12-11
  • 打赏
  • 举报
回复
在网站的web.config中,与system.web同一级别,可以设置对某一文件夹的访问权限,需要用form认证。
<location path="UserCenter">
<system.web>
<!--<authentication>
<forms name="UserLoginAuth" loginUrl="~/UserLogin.aspx" defaultUrl="~/UserCenter/UserCenter.aspx"></forms>
</authentication>-->
<authorization>
<allow users="User"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="AdminCenter">
<system.web>
<authorization>
<allow users="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="SupplierCenter">
<system.web>
<authorization>
<allow users="Supplier"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

在用户登录时:
System.Web.Security.FormsAuthentication.SetAuthCookie("Admin", false);//Admin对应配置文件中的<allow users="Admin"/>,是一组用户的标示,不是具体的登录用户名,但也可以设置为用户登录名
Response.Redirect("......");
jaden1024 2008-12-11
  • 打赏
  • 举报
回复
顶一下
jaden1024 2008-12-10
  • 打赏
  • 举报
回复
我的意思是:如何根据用户或用户所属role结合web.config的配置来做比较,判断用户能否访问此文件夹
不知我说清楚了没有。。。
  • 打赏
  • 举报
回复
更喜欢自己设计在数据库中进行配置更加自由
sobaby 2008-12-10
  • 打赏
  • 举报
回复
修改一下你的web.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="系统管理员" />
<deny users="*" /> 这里是修改的
</authorization>
</system.web>
</configuration>

允许管理员组访问 拒绝所有用户
  上面的配置看起来是是有冲突的,但是.net会优先匹配第一个满足条件的
YiCaoYiMu08 2008-12-10
  • 打赏
  • 举报
回复
form 验证?
根目录中web.config中
<authentication mode="Forms">
<forms name="AdminUser" loginUrl="~/Admin/Default.aspx"></forms>
</authentication>

文件夹中web.config中
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<deny users="?"/>
<allow users="AdminUser"/>
</authorization>
</system.web>
</configuration>

用户登录时:
System.Web.Security.FormsAuthentication.SetAuthCookie("AdminUser", true);

上面的是允许AdminUser访问

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧