最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在ASP.NET 中實(shí)現(xiàn)單點(diǎn)登錄

 更新時(shí)間:2007年03月16日 00:00:00   作者:  

出自:【孟憲會(huì)之精彩世界】 發(fā)布日期:2005年1月27日 8點(diǎn)48分0秒 [有刪改] 
由于某些原因,在我們的應(yīng)用中會(huì)遇到一個(gè)用戶只能在一個(gè)地方登錄的情況,也就是我們通常所說的單點(diǎn)登錄。在ASP.NET中實(shí)現(xiàn)單點(diǎn)登錄其實(shí)很簡(jiǎn)單,下面就把主要的方法和全部代碼進(jìn)行分析。  
實(shí)現(xiàn)思路  
利用Cache的功能,我們把用戶的登錄信息保存在Cache中,并設(shè)置過期時(shí)間為Session失效的時(shí)間,因此,一旦Session失效,我們的Cache也過期;而Cache對(duì)所有的用戶都可以訪問,因此,用它保存用戶信息比數(shù)據(jù)庫來得方便。  
SingleLogin.aspx代碼  
<%@ Page language="c#" Codebehind="SingleLogin.aspx.cs" AutoEventWireup="false" 
 Inherits="eMeng.Exam.SingleLogin" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<HTML> 
<HEAD> 
<title>單點(diǎn)登錄測(cè)試</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style> 
H3 { FONT: 17px 宋體 } 
INPUT { FONT: 12px 宋體 } 
SPAN { FONT: 12px 宋體 } 
P { FONT: 12px 宋體 } 
H4 { FONT: 12px 宋體 } 
</style> 
</HEAD> 
<body MS_POSITIONING="GridLayout"> 
<form id="Form1" method="post" runat="server"> 
  <div align="center"> 
    <h3>單點(diǎn)登錄測(cè)試</h3> 
    <p>用戶名稱:<asp:TextBox id="UserName" runat="server"></asp:TextBox></p> 
    <p>用戶密碼:<asp:TextBox id="PassWord" runat="server" TextMode="Password"></asp:TextBox></p> 
    <p><asp:Button id="Login" runat="server" Text=" 登  錄 "></asp:Button></p> 
    <p><asp:Label id="Msg" runat="server"></asp:Label></p> 
  </div> 
</form> 
</body> 
</HTML>  
SingleLogin.aspx.cs代碼  
using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Web; 
using System.Web.SessionState; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.HtmlControls;  
namespace eMeng.Exam 

/// <summary> 
/// SingleLogin 的摘要說明。 
/// 實(shí)現(xiàn)單點(diǎn)登錄 
/// </summary> 
public class SingleLogin : System.Web.UI.Page 

protected System.Web.UI.WebControls.TextBox UserName; 
protected System.Web.UI.WebControls.TextBox PassWord; 
protected System.Web.UI.WebControls.Label Msg; 
protected System.Web.UI.WebControls.Button Login;  
private void Page_Load(object sender, System.EventArgs e) 

}  
#region Web 窗體設(shè)計(jì)器生成的代碼 
override protected void OnInit(EventArgs e) 

  InitializeComponent(); 
  base.OnInit(e); 
}  
/// <summary> 
/// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改 
/// 此方法的內(nèi)容。 
/// </summary> 
private void InitializeComponent() 

  this.Login.Click += new System.EventHandler(this.Login_Click); 
  this.Load += new System.EventHandler(this.Page_Load); 

#endregion  
private void Login_Click(object sender, System.EventArgs e) 

  // 作為唯一標(biāo)識(shí)的Key,應(yīng)該是唯一的,這可根據(jù)需要自己設(shè)定規(guī)則。 
  // 做為測(cè)試,這里用用戶名和密碼的組合來做標(biāo)識(shí);也不進(jìn)行其它的錯(cuò)誤檢查。  
  // 生成Key 
  string sKey = UserName.Text + "_" + PassWord.Text; 
  // 得到Cache中的給定Key的值 
  string sUser = Convert.ToString(Cache[sKey]); 
  // 檢查是否存在 
  if (sUser == null || sUser == String.Empty) 
  { 
    // Cache中沒有該Key的項(xiàng)目,表名用戶沒有登錄,或者已經(jīng)登錄超時(shí) 
    // 注意下面使用的TimeSpan構(gòu)造函數(shù)重載版本的方法,是進(jìn)行是否登錄判斷的關(guān)鍵。 
    TimeSpan SessTimeOut = new TimeSpan(0,0,System.Web.HttpContext.Current.Session.Timeout,0,0); 
    HttpContext.Current.Cache.Insert(sKey,sKey,null,DateTime.MaxValue,SessTimeOut, 
      System.Web.Caching.CacheItemPriority.NotRemovable,null); 
    Session["User"] = sKey; 
    // 首次登錄,您可以做您想做的工作了。 
    Msg.Text="<h4 style='color:red'>嗨!歡迎您訪問<a ; 
    Msg.Text += "</a>,祝您瀏覽愉快!:)</h4>"; 
  } 
  else 
  { 
    // 在 Cache 中發(fā)現(xiàn)該用戶的記錄,表名已經(jīng)登錄過,禁止再次登錄 
    Msg.Text="<h4 style='color:red'>抱歉,您好像已經(jīng)登錄了呀:-(</h4>"; 
   return; 
  } 


}  

相關(guān)文章

  • asp.net OleDbCommand 的用法

    asp.net OleDbCommand 的用法

    asp.net下OleDbCommand的使用代碼
    2008-04-04
  • Asp.Net常用函數(shù)

    Asp.Net常用函數(shù)

    Asp.Net常用函數(shù)...
    2007-03-03
  • ASP.NET中HiddenField隱藏域控件的使用方法

    ASP.NET中HiddenField隱藏域控件的使用方法

    本文主要介紹ASP.NET中HiddenField控件的基礎(chǔ)使用方法、事件以及配合javascript的一些使用,希望能幫到大家。
    2016-04-04
  • ASP.NET?Core?MVC中的模型(Model)

    ASP.NET?Core?MVC中的模型(Model)

    這篇文章介紹了ASP.NET?Core?MVC中的模型(Model),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET?Core基礎(chǔ)之Main方法講解

    ASP.NET?Core基礎(chǔ)之Main方法講解

    這篇文章介紹了ASP.NET?Core基礎(chǔ)之Main方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • .Net?6簡(jiǎn)介并和之前版本寫法做對(duì)比

    .Net?6簡(jiǎn)介并和之前版本寫法做對(duì)比

    這篇文章介紹了.Net?6簡(jiǎn)介并和之前版本寫法做對(duì)比,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 使用Docker部署ASP.NET?Core程序

    使用Docker部署ASP.NET?Core程序

    這篇文章介紹了使用Docker部署ASP.NET?Core程序的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 那些年,我還在學(xué)習(xí)asp.net(二) 學(xué)習(xí)筆記

    那些年,我還在學(xué)習(xí)asp.net(二) 學(xué)習(xí)筆記

    那些年覺得看視頻是很輕松的了解一個(gè)東西,但是這樣的不足就是感覺太慢了,沒有看書來得快,所以在有了一些了解后,還得看點(diǎn)書,也許書上的不一定好,但書上會(huì)把每一個(gè)應(yīng)該說到的地方說到,好有個(gè)初步的認(rèn)識(shí)
    2012-03-03
  • ASP.NET Core開發(fā)Docker部署

    ASP.NET Core開發(fā)Docker部署

    這篇文章介紹了ASP.NET Core開發(fā)Docker部署的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • ASP.NET中Application、Cookie、Session、Cache和ViewState

    ASP.NET中Application、Cookie、Session、Cache和ViewState

    本文主要介紹Application、Cookie、Session、Cache和ViewState,并總結(jié)了在什么情況下使用他們,希望對(duì)大家有所幫助。
    2016-04-04

最新評(píng)論

潢川县| 修武县| 阳泉市| 厦门市| 马公市| 沭阳县| 综艺| 崇文区| 安西县| 堆龙德庆县| 呼伦贝尔市| 宁国市| 枣阳市| 固原市| 合作市| 奈曼旗| 通榆县| 宁陵县| 仪陇县| 福州市| 安丘市| 阿克陶县| 常州市| 庐江县| 刚察县| 五寨县| 沅江市| 云浮市| 宣化县| 乡城县| 萨迦县| 湘潭市| 山西省| 砀山县| 射阳县| 武邑县| 开阳县| 赣榆县| 高清| 惠水县| 新河县|