asp.net 特定目录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="*"是什么意思呢?