<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XuGang

      記錄一個(gè)程序員的成長

       

      也談Asp.net 中的身份驗(yàn)證

       

      錢李峰 的這篇博文《Asp.net中的認(rèn)證與授權(quán)》已對(duì)Asp.net 中的身份驗(yàn)證進(jìn)行了不錯(cuò)實(shí)踐。而我這篇博文,是從初學(xué)者的角度補(bǔ)充了一些基礎(chǔ)的概念,以便能有個(gè)清晰的認(rèn)識(shí)。

       

      一、配置安全身份驗(yàn)證模式

      在Web.config 文件中,通過 <authentication> 節(jié)可以配置 ASP.NET 使用的安全身份驗(yàn)證模式,以標(biāo)識(shí)傳入的用戶。

       <authentication mode="[Windows|Forms|Passport|None]">
      <forms>...</forms>
      <passport/>
      </authentication>

      <authentication> 節(jié)的mode 為必選的屬性。指定應(yīng)用程序的默認(rèn)身份驗(yàn)證模式。

      此屬性可以為下列值之一:

      ○  Windows :將 Windows 驗(yàn)證指定為默認(rèn)的身份驗(yàn)證模式。將它與以下任意形式的 Microsoft Internet 信息服務(wù) (IIS) 身份驗(yàn)證結(jié)合起來使用:基本、摘要、集成 Windows 身份驗(yàn)證 (NTLM/Kerberos) 或證書。在這種情況下,您的應(yīng)用程序?qū)⑸矸蒡?yàn)證責(zé)任委托給基礎(chǔ) IIS。

      ○  Forms :將 ASP.NET 基于窗體的身份驗(yàn)證指定為默認(rèn)身份驗(yàn)證模式。

      ○  Passport :將 Microsoft Passport Network 身份驗(yàn)證指定為默認(rèn)身份驗(yàn)證模式。

      ○  None :不指定任何身份驗(yàn)證。您的應(yīng)用程序僅期待匿名用戶,否則它將提供自己的身份驗(yàn)證。

      默認(rèn)值為 Windows

       

      二、設(shè)置基于窗體的身份驗(yàn)證

      當(dāng)ASP.NET 基于窗體的身份驗(yàn)證<authentication mode="Forms"> 時(shí),其<forms> 子節(jié)點(diǎn)為窗體自定義身份驗(yàn)證配置。

      示例如下:

      <authentication mode="Forms">
      <forms cookieless="UseDeviceProfile"
      defaultUrl="Default.aspx"
      loginUrl="Login.aspx"
      name="cnblogs"
      slidingExpiration="false"
      timeout="15"
      />
      </authentication>

      ○  cookieless :定義是否使用 Cookie 以及 Cookie 的行為。默認(rèn)值為 UseDeviceProfile ;

      ○  defaultUrl :定義在身份驗(yàn)證之后用于重定向的默認(rèn) URL。默認(rèn)值為 default.aspx ;

      ○  loginUrl :指定如果找不到任何有效的身份驗(yàn)證 Cookie,將請(qǐng)求重定向到的用于登錄的 URL。默認(rèn)值為 login.aspx ;

      ○  name :指定要用于身份驗(yàn)證的 HTTP Cookie。默認(rèn)值為 ".ASPXAUTH" ;

                   如果正在一臺(tái)服務(wù)器上運(yùn)行多個(gè)應(yīng)用程序,并且每個(gè)應(yīng)用程序都需要唯一的Cookie,則必須在每個(gè)應(yīng)用程序的 Web.config 文件中配置 Cookie 名稱。

      ○  slidingExpiration :指定是否啟用彈性過期時(shí)間。

             > True 指定啟用彈性過期時(shí)間。在單個(gè)會(huì)話期間,身份驗(yàn)證 Cookie 被刷新,并且每個(gè)后續(xù)請(qǐng)求的到期時(shí)間被重置。在 .NET Framework 1.x 版中,默認(rèn)值為 True

             >  False 指定不啟用可調(diào)過期,并指定 Cookie 在最初發(fā)出之后,經(jīng)過一段設(shè)定的時(shí)間間隔后過期。在 .NET Framework 2.0 版中,默認(rèn)值為 False

      ○  timeout :指定 Cookie 過期前逝去的時(shí)間(以整數(shù)分鐘為單位)。如果 SlidingExpiration 屬性為 true,則 timeout 屬性是滑動(dòng)值,會(huì)在接收到上一個(gè)請(qǐng)求之后的指定時(shí)間(以分鐘為單位)后過期。為防止危及性能并避免向開啟 Cookie 警告的用戶發(fā)出多個(gè)瀏覽器警告,當(dāng)指定的時(shí)間逝去大半時(shí)將更新 Cookie。這可能導(dǎo)致精確性受損。持久性 Cookie 不超時(shí)。默認(rèn)值為 "30"(30 分鐘)。

       

      三、配置 Web 應(yīng)用程序的授權(quán)

      接下來添加<authorization> 節(jié)配置 Web 應(yīng)用程序的授權(quán),以控制客戶端對(duì) URL 資源的訪問。

      <authorization>
      <allow ...="" />
      <deny ...="" />
      </authorization>

      <authorization> 授權(quán):順序是先寫allow,再寫deny,不然就會(huì)出現(xiàn)問題。

      allow :向授權(quán)規(guī)則映射添加一個(gè)規(guī)則,該規(guī)則允許對(duì)資源進(jìn)行訪問。

      deny :向授權(quán)規(guī)則映射添加一條拒絕對(duì)資源的訪問的授權(quán)規(guī)則。

      示例如下:

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

      <deny  users="?" />  表示拒絕訪問的用戶。問號(hào) (?) 表示拒絕匿名用戶;星號(hào) (*) 表示拒絕所有用戶訪問。若添加用戶名列表使用逗號(hào)分隔。

       

      設(shè)置完畢后,Web.config 文件的整體配置如下:

      <!--
      通過 <authentication> 節(jié)可以配置 ASP.NET 使用的
      安全身份驗(yàn)證模式,以標(biāo)識(shí)傳入的用戶。
      -->
      <authentication mode="Forms">
      <forms cookieless="UseDeviceProfile"
      defaultUrl="Default.aspx"
      loginUrl="Login.aspx"
      name="newerSize"
      slidingExpiration="false"
      timeout="15"
      />
      </authentication>
      <!-- <authorization>授權(quán):順序是先寫allow,再寫deny,不然就會(huì)出現(xiàn)問題。 -->
      <authorization>
      <deny users="?"/>
      </authorization>

       

      四、在頁面程序中使用Forms 身份驗(yàn)證

      在頁面程序的后臺(tái)代碼中,我們使用FormsAuthentication 類為Web 應(yīng)用程序管理 Forms 身份驗(yàn)證服務(wù)。

      在登錄頁面Login.aspx 中,代碼如下:

      //登錄
      protected void btnLogin_Click(object sender, EventArgs e)
      {
      string name = txtName.Text.Trim();
      string pwd = txtPwd.Text.Trim();
      if ("Andy" == name && "123" == pwd)
      {
      //方式一
      //FormsAuthentication.RedirectFromLoginPage(name, true);
      /*參數(shù)二為true:表示創(chuàng)建持久 Cookie(跨瀏覽器會(huì)話保存的 Cookie)*/
      //方式二
      //為用戶創(chuàng)建一個(gè)票證,并將其放入cookie或者url中(具體看你怎么設(shè)置票證的保存方式)
      FormsAuthentication.SetAuthCookie(name, true);
      Response.Redirect("Default.aspx");
      }
      else
      {
      Response.Write("<script>alert('登錄失敗!')</script>");
      }
      }
      //注銷
      protected void btnExit_Click(object sender, EventArgs e)
      {
      //從瀏覽器刪除 Forms 身份驗(yàn)證票證。
      FormsAuthentication.SignOut();
      }

       

      登錄成功后,跳轉(zhuǎn)到的默認(rèn)頁面Default.aspx 中,代碼如下:

      protected void Page_Load(object sender, EventArgs e)
      {
      //User:獲取有關(guān)發(fā)出頁請(qǐng)求的用戶的信息。
      string username = User.Identity.Name;
      Label1.Text = username + ":登錄成功!";
      }

      User.Identity.Name 用于獲得Cookie 中的用戶名。

       

      posted on 2010-12-08 13:22  鋼鋼  閱讀(7930)  評(píng)論(11)    收藏  舉報(bào)

      導(dǎo)航

      主站蜘蛛池模板: 国产中年熟女大集合| 91麻豆精品国产91久| 宁陕县| 老司机亚洲精品一区二区| 亚洲熟女乱一区二区三区| 国产久爱免费精品视频| 亚亚洲视频一区二区三区| 亚洲高清WWW色好看美女| 中日韩黄色基地一二三区| 国产尤物精品自在拍视频首页| 山阴县| av老司机亚洲精品天堂| 无码伊人久久大杳蕉中文无码| 国产精品亚洲欧美大片在线看 | 特级做a爰片毛片免费看无码| 无码国产69精品久久久久网站| 韩国V欧美V亚洲V日本V| 少妇高潮灌满白浆毛片免费看 | 香蕉EEWW99国产精选免费| 亚洲av日韩av一区久久| 九九热在线这里只有精品| 亚洲精品一区二区制服| 国精品无码人妻一区二区三区| 九九热在线免费视频观看| 午夜福利片一区二区三区| 国产精品视频一品二区三| 狠狠亚洲色一日本高清色| 国产又色又爽又高潮免费| 亚洲香蕉免费有线视频| 久久精品国产精品亚洲综合| 国产精品天干天干综合网| 久久日韩精品一区二区五区| 日本福利一区二区精品| 四虎成人精品无码永久在线| 日韩高清亚洲日韩精品一区二区 | 亚洲 日本 欧洲 欧美 视频| 国产午夜美女福利短视频| 久久人搡人人玩人妻精品| 亚洲天堂激情av在线| 亚洲情A成黄在线观看动漫尤物| 四虎在线播放亚洲成人|