在进行Forms身份验证时,如果采用如下的方法配置web.config的话,则会出现所有的页面都要进行验证,这是用户所不能容忍的,具体代码如下:
<authentication mode="Forms">
<forms name=".LoginUser" loginUrl="admin/admin_login.aspx" protection="All" timeout="30" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
这里我还要说明一点,很多初学者都会把上面的代码写为
<authentication mode="Forms" />
<forms name=".LoginUser" loginUrl="admin/admin_login.aspx" protection="All" timeout="30" />
</authentication>
<authorization>
<allow users="*" />
结果会出现不能识别forms节点。
如果要实现某个目录下的Forms验证哪个怎么办呢?
其实代码很简单,在添加完上面的代码之后再在</system.web>后要加入:
<location path="admin">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
便可以实现对admin这个目录进行验证,而其它的则不需要进行验证就可以直接访问。
<authentication mode="Forms">
<forms name=".LoginUser" loginUrl="admin/admin_login.aspx" protection="All" timeout="30" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
这里我还要说明一点,很多初学者都会把上面的代码写为
<authentication mode="Forms" />
<forms name=".LoginUser" loginUrl="admin/admin_login.aspx" protection="All" timeout="30" />
</authentication>
<authorization>
<allow users="*" />
结果会出现不能识别forms节点。
如果要实现某个目录下的Forms验证哪个怎么办呢?
其实代码很简单,在添加完上面的代码之后再在</system.web>后要加入:
<location path="admin">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
便可以实现对admin这个目录进行验证,而其它的则不需要进行验证就可以直接访问。