asp.net Forms验证

    个人认为 Forms验证应用于后台比较好,防止一些非法用户进入后台。

     Forms 当有用户登录到页面上后存入 Cookie 后才可以访问其他页面。 

     Forms验证 首先要把 下面代码给复制到页面上的 web.config 文件里   

    <authentication mode="Forms">

      <!-- 设置验证属性     loginUrl =“登录页面”  -->


      <forms name="forums"  path="/"  timeout="40"  protection="All"  loginUrl="Login.aspx" />     <!-- Login.aspx 为自己的登录页面 -->
    </authentication>
    <authorization>

      <!-- 设置资源为受保护,匿名用户不允许访问 -->


      <deny users="?"/>
    </authorization>

     <system.web>   把代码复制到这这句中间!  </system.web>

     把这段代码复制 配置文件里面以后去到 Login.aspx(登录页面). 判断用户名是否正确,如果正确 ,在正确的代码里面加上:

            FormsAuthentication.SetAuthCookie(user, false);  

     这段代码就可以访问后台的其他页面了。   

     如果这样设置以后如果Login.aspx页面调用了其他文件的css样式、或者应用了其他文件夹的图片 images ,这样 Login.aspx 页面将不会显示出所调用的css 和 图片文件,这样要怎么解决呢? 不是没有办法 下面有一段代码可以把某些文件夹、或者是文件给解除保护 ....

      <location path="这里是要解除保护文件夹或者文件的路径!" >
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
  </location>

 

    这样就可以不受Forms限制访问其他文件了。

    完整代码:配置

  <configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0"/>
    <authentication mode="Forms">
      <forms name="forums"  path="/" timeout="40" protection="All" loginUrl="Login.aspx" />
 
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
    </system.web>
  <!--——————————————不受保护 例外文件 ————————————————————-->
  <location path="App_Themes" >
    <system.web>
      <authorization>
        <allow users="?"/>
      </authorization>
    </system.web>
  </location>

</configuration>

 

   后台:

     FormsAuthentication.SetAuthCookie(user, false); 

     如果用户名存在 加上。。

         如果有什么错误和理解不正确请大家见谅,可以留言  .....

posted @ 2013-07-23 13:51  你啵哥哥哥哥  阅读(...)  评论(... 编辑 收藏