佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP.NET窗體身份驗證詳解

ASP.NET窗體身份驗證詳解

熱門標簽:科大訊飛語音識別系統(tǒng) 集中運營管理辦法 百度競價排名 服務(wù)器配置 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 阿里云 硅谷的囚徒呼叫中心

asp.net的身份驗證類型如下:

 

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

 說明:    

   

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

       

我們在登錄按鈕下寫上如下代碼:

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)  //可以通過查詢數(shù)據(jù)庫 驗證用戶是否合法 
      { 
        //被注釋的這兩行語句相當于最下面的語句 就是保存用戶后轉(zhuǎn)回到原來的頁面。 
        //System.Web.Security.FormsAuthentication.SetAuthCookie(TextBox1.Text, chkIsSavePwd.Checked); 
        //Response.Redirect("main.aspx"); 
        System.Web.Security.FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, chkIsSavePwd.Checked); 
      } 
      else 
      { 
 
      } 
    } 
  } 
} 

當然們也可以刪除身份驗證,退出登錄,我們在主界面上加一個注銷按鈕:

       

注銷下的代碼:

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驗證票證 
      System.Web.Security.FormsAuthentication.SignOut(); 
      //重新回到登錄頁面 
      Response.Redirect("login.aspx"); 
    } 
  } 
}

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

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

您可能感興趣的文章:
  • ASP.net 驗證碼實現(xiàn)代碼(C#)
  • ASP.NET Internet安全Forms身份驗證方法
  • 驗證一個ASP.NET應(yīng)用程序和頁面的生命周期的實現(xiàn)代碼
  • ASP.NET MVC5添加驗證(4)
  • asp.net中的窗體身份驗證(最簡單篇)
  • ASP.NET通用權(quán)限驗證的實現(xiàn)代碼思路
  • 詳解ASP.NET MVC Form表單驗證
  • ASP.NET MVC4入門教程(六):驗證編輯方法和編輯視圖
  • Asp.net頁面中調(diào)用soapheader進行驗證的操作步驟

標簽:威海 西雙版納 甘孜 開封 廣西 烏蘭察布 隨州 梧州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《ASP.NET窗體身份驗證詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南木林县| 永定县| 肇州县| 台北县| 彰武县| 克山县| 治多县| 资兴市| 襄樊市| 历史| 洛宁县| 特克斯县| 聂拉木县| 蓝山县| 三台县| 北辰区| 星子县| 汨罗市| 南郑县| 赤城县| 定兴县| 唐山市| 进贤县| 永济市| 乌拉特后旗| 仪陇县| 会东县| 华宁县| 怀化市| 黔江区| 南召县| 天祝| 宣威市| 阜南县| 稻城县| 马尔康县| 密云县| 株洲县| 葵青区| 永修县| 田阳县|