ASP.NET 下web.config Forms身份验证的配置

在webconfig中有一个重要节点 其中包括了一个身份验证配置节点

其中 authentication 是节点名,mode是模式,上述代码表示 采用windows身份验证,那么此时身份验证将交给iis处理,而iis中默认设
   
a、使mode为 Forms 则表示是用Forms身份验证
b、defaultUrl ="default.aspx" 表示默认页面是default.aspx
c、loginUrl="login.aspx" 表示登陆页面是login.aspx
d、protection="All" 表示 保护所有页面,但不能保护html页面,只能保护aspx页面。
e、

节点中 deny users="?" 表示拒绝所有匿名用户,也就是说必须通过验证的用户才可以跳转到默认页或由程序指定一个跳转页,其中 "?" 表示匿名用户,也可以设置为 "*" 表示所有用户,或则指定一个用户名。
f、timeout 表示有效时间。
在登陆页面中,登陆按钮事件必须使用如下代码才能跳转
            FormsAuthentication.RedirectfromLoginPage("luby", false);
引用的命名空间是 System.Web.Security; RedirectfromLoginPage表示将经过身份验证的用户重定向到最初请求的页面,第一参数表示名称,此名称今后在本站点的任何页面都可以用 User.Identity.Name 来获取到,第二个参数表示是否要持久化cookie,也就是说是否下次不需要输入密码验证就可以自动登陆,直到用户主动退出。
退出按钮必须使用如下代码,命名空间同样是 System.Web.Security;
FormsAuthentication.SignOut();

 


 

web.config中如何只针对一个子目录设置验证   

  在子目录"usr"下面,新建一个web.config文件:   
  <configuration>   
          <system.web>   
                  <authorization>   
                          <deny   users="?"/>     
                  </authorization>   
          </system.web   >   
  </configuration>

 

你也可以不用在每一个子目录中新那一个web.config文件,在根目录下的web.config也也可以设置,象这样:   
    
  <configuration>   
  <system.web>   
  <authentication   mode="Forms"   >   
  <forms   name="WebdiyerLoginForm"   loginUrl="Login.aspx"></forms>   
  </authentication></system.web>   
    
  <location   path="test">   
  <system.web>   
  <authorization>   
  <deny   users="?"/>   
  </authorization>   
  </system.web>   
  </location>   
    
  </configuration>   
  其中的location配置节即可用来控制某个子目录或文件的访问,path值即是要限制访问的文件名(带后缀)或文件夹名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值