欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET窗體身份驗(yàn)證詳解

 更新時(shí)間:2015年09月18日 11:51:45   投稿:lijiao  
這篇文章主要介紹了ASP.NET窗體身份驗(yàn)證,感興趣的小伙伴可以參考一下

asp.net的身份驗(yàn)證類型如下:

 

在我們實(shí)際的工作中,froms身份驗(yàn)證用的還是比較多的,我們接下來(lái)詳細(xì)說(shuō)一下:
做為web開(kāi)發(fā)的程序員,我想登錄窗體是接觸的太多了??墒?,我發(fā)現(xiàn)有的程序員在對(duì)身份驗(yàn)證的時(shí)候是把驗(yàn)證的用戶名保存在一個(gè)session里的,然后進(jìn)入系統(tǒng)的每個(gè)頁(yè)面都去驗(yàn)證session是否為空,如果不為空那么就response.redirect("......aspx")。
 我認(rèn)為這種方法相對(duì)于asp.net提供的form身份驗(yàn)證來(lái)說(shuō)是不足的,首先,就是增加代碼量,因?yàn)槲覀冊(cè)诿總€(gè)頁(yè)面都要驗(yàn)證一下session是否存在;其次,session是存儲(chǔ)在服務(wù)器內(nèi)存中,我認(rèn)為如果經(jīng)常使用session勢(shì)必會(huì)拖慢服務(wù)器的速度。而form身份驗(yàn)證則不同,它是把數(shù)據(jù)保存在cookie中的,所以,可以減輕服務(wù)器的壓力。
舉例一:
在項(xiàng)目中添加兩個(gè)頁(yè)面:login.aspx(用來(lái)做登錄頁(yè)面)和main.aspx(主界面)
 如果我們添加了from身份驗(yàn)證的話,那么當(dāng)然我們首先要先設(shè)置不允許匿名訪問(wèn)網(wǎng)站,接著我們把通過(guò)身份驗(yàn)證的用戶添加到cookie中,web配置文件如下:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
  <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
 
   <authentication mode="Forms"> 
    <forms name="save" loginUrl="login.aspx" protection="All"> 
    </forms> 
   </authentication> 
 
   <authorization> 
    <deny users="?"/> 
   </authorization> 
  </system.web> 
 
 
</configuration> 

 說(shuō)明:    

   

進(jìn)行設(shè)置后,如果我們直接訪問(wèn)main.aspx頁(yè)面,那么會(huì)跳轉(zhuǎn)到login.aspx。

       

我們?cè)诘卿洶粹o下寫(xiě)上如下代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
 
namespace LastTest 
{ 
  public partial class login : System.Web.UI.Page 
  { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
 
    } 
 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
      if (true)  //可以通過(guò)查詢數(shù)據(jù)庫(kù) 驗(yàn)證用戶是否合法 
      { 
        //被注釋的這兩行語(yǔ)句相當(dāng)于最下面的語(yǔ)句 就是保存用戶后轉(zhuǎn)回到原來(lái)的頁(yè)面。 
        //System.Web.Security.FormsAuthentication.SetAuthCookie(TextBox1.Text, chkIsSavePwd.Checked); 
        //Response.Redirect("main.aspx"); 
        System.Web.Security.FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, chkIsSavePwd.Checked); 
      } 
      else 
      { 
 
      } 
    } 
  } 
} 

當(dāng)然們也可以刪除身份驗(yàn)證,退出登錄,我們?cè)谥鹘缑嫔霞右粋€(gè)注銷按鈕:

       

注銷下的代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
 
namespace LastTest 
{ 
  public partial class main : System.Web.UI.Page 
  { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
 
    } 
 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
      //從瀏覽器刪除from驗(yàn)證票證 
      System.Web.Security.FormsAuthentication.SignOut(); 
      //重新回到登錄頁(yè)面 
      Response.Redirect("login.aspx"); 
    } 
  } 
}

 當(dāng)然,如果一個(gè)系統(tǒng)就有幾個(gè)人用的話,那么我們也可以添加固定用戶,然后對(duì)用戶的密碼可以進(jìn)行加密:如果MD5加密或者SHA1,當(dāng)然也可以使用clear(明文,不安全)。

以上就是關(guān)于ASP.NETt的窗體身份驗(yàn)證,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論