asp.net 特定目录form验证

 更新时间:2009年06月09日 13:17:18   作者:  
前几听我的一个同事说form验证,我也只是听说过,说是一个很简单的验证,最近也在做一个小型的企业网站(因为刚进公司不久,老板就给了单独一个小项目练练手)。
就想将这个form验证运用到我作的网站上去,这样也可以增强一点网站的基础安全性。
今天上午,来到公司开始上网查找资料,学习form验证,因为我做的那个网站框架已经设计好了,需要对后台进行验证,后台的所有文件是在一个admin文件夹下,也就是说,所谓的form验证就是对admin下的文件进行form验证。我上网找了一些资料,都只是说对根目录下面的文件或者文件夹进行验证,也看到了可以运用<location path=”1111”>来进行排除,我就反其道而行之。
复制代码 代码如下:

<authentication mode="Forms">
<forms loginUrl="aspx/Default.aspx" defaultUrl="Default3.aspx"></forms>
</authentication>
<authorization >
<deny users="*"/>
</authorization>
<location path="admin">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

这是我进行的设置,我看到不管是打开那里的网页都要跳转到login.aspx上,我想是不是应该把他们分别进行设置,于是,就在admin目录中有新建了一个webconfig文件,进行配置,但是还是以上的结果,
我也不知道是哪里的原因,上网找资料,没有发现,找高手问,他们也是说了用以上的方法就可以,但是我这里就是不行。还以为是我的这个项目就问题,就新建了一个项目,首先进行测试,后来看见
复制代码 代码如下:

<authorization >
<allow roles=””>
<deny users="*"/>
</authorization>

其中有一个allow 标签,但是他中间roles是用来对身份进行验证的,我这里用不到,偶尔之间看到了 allow标签下有一个users属性,就试着对它进行测试。结果OK!
后来的演变成了
复制代码 代码如下:

<system.web>
<authentication mode="Forms">
<forms loginUrl="aspx/Default.aspx" defaultUrl="Default3.aspx"></forms>
</authentication>
<authorization >
<allow users="*"/>
</authorization>
</system.web>
<location path="aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

这样就完成了对特定目录的一个验证,这是忙了一上午的结晶,写下来做一个记录,防止以后忘记!
其实我也就是加了<allow users="*">这样的一句,问题就解决了!这句话的意思是允许所有用户进行操作。deny="*"是什么意思呢?

相关文章

最新评论