当前位置:编程学习 > C#/ASP.NET >>

Authorization的Deny属性下面的是不是就不执行了

在ASP.NET中,子目录products文件夹中的web.config文件中有这样一段代码,则运行()角色访问此子目录。
<authorization>
   <allow roles="user">
   <deny users="*">
   <allow roles="manager"/>
   <allow roles="admin"/>
</authorization>

a.user
b.user,manager,admin
c.都不允许
d.只有匿名角色不允许

这个该选择什么啊,Authorization的Deny属性下面的是不是就不执行了,不太确定呢。 --------------------编程问答-------------------- 答案:a. user

这个是按照顺序判断的,有上到下,满足一个就判断结束。

如果是user登录,判断第一个<allow roles="user">成立就直接返回了。
如果是manager,判断第一个<allow roles="user">不成立,然后下一个<deny users="*">,由于是*,因此manager也是*,于是这个就成立,就不往下判断了。
如果是admin,同样在<deny users="*">这里也是成立的。


这里的成立,就是指 users="" 或者 roles="" 这个成不成立。如果有就不往下判断了。 --------------------编程问答-------------------- 是这样吗,还有会的吗 --------------------编程问答-------------------- 拆开写
可以看看详解

参考
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,