在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
不论是开放web站点,还是B/S应用程序,我们都需要对我们程序的部分资源进行保护,不被不速之客访问,要想访问受限资源,将会重定向到登录页面,要求输入账号,为实现上面的要求,我们通常会这样配置:
<authentication mode="Forms">
<forms name=".ASPXAUTH " loginUrl="login.aspx" protection="All" timeout="120"/> </authentication> <authorization> <deny users="?"/> </authorization>
(各个属性的含义,msdn有详细描述),这样,应用程序下所有的页面都将收到保护,但是我们大多数情况下只有求保护某些资源,而另一部分资源将是完全开放的(在门户站点中常常是这样的),我们把受保护的资源放在某个目录下,例如admin。 我们只需设置system.web配置节如下即可:
<authentication mode="Forms">
<forms name=".ASPXADMINUSER" loginUrl="admin/adminlogin.aspx" protection="All" timeout="20" path="/" /> </authentication> <authorization> <allow users="?" /> </authorization>
<location allowOverride="false" />
<location path="admin"> <system.web> <authorization> <allow users="admin"></allow> <deny users="*"></deny> </authorization> </system.web> </location>
问题来了,如果admin下大部分页面开放,只对list.aspx保护怎么办。我们可以修改 <location path="admin">为 <location path="admin/list.aspx"> 按如上所述配置,将可以保护任意指定的资源,各配置属性在msdn中有说明,这里浪费时间了。 |
请发表评论