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