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

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

 更新時間:2007年03月16日 00:00:00   作者:  

出自:【孟憲會之精彩世界】 發(fā)布日期:2005年1月27日 8點48分0秒 [有刪改] 
由于某些原因,在我們的應(yīng)用中會遇到一個用戶只能在一個地方登錄的情況,也就是我們通常所說的單點登錄。在ASP.NET中實現(xiàn)單點登錄其實很簡單,下面就把主要的方法和全部代碼進行分析。  
實現(xiàn)思路  
利用Cache的功能,我們把用戶的登錄信息保存在Cache中,并設(shè)置過期時間為Session失效的時間,因此,一旦Session失效,我們的Cache也過期;而Cache對所有的用戶都可以訪問,因此,用它保存用戶信息比數(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>單點登錄測試</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>單點登錄測試</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 的摘要說明。 
/// 實現(xià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è)計器生成的代碼 
override protected void OnInit(EventArgs e) 

  InitializeComponent(); 
  base.OnInit(e); 
}  
/// <summary> 
/// 設(shè)計器支持所需的方法 - 不要使用代碼編輯器修改 
/// 此方法的內(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) 

  // 作為唯一標識的Key,應(yīng)該是唯一的,這可根據(jù)需要自己設(shè)定規(guī)則。 
  // 做為測試,這里用用戶名和密碼的組合來做標識;也不進行其它的錯誤檢查。  
  // 生成Key 
  string sKey = UserName.Text + "_" + PassWord.Text; 
  // 得到Cache中的給定Key的值 
  string sUser = Convert.ToString(Cache[sKey]); 
  // 檢查是否存在 
  if (sUser == null || sUser == String.Empty) 
  { 
    // Cache中沒有該Key的項目,表名用戶沒有登錄,或者已經(jīng)登錄超時 
    // 注意下面使用的TimeSpan構(gòu)造函數(shù)重載版本的方法,是進行是否登錄判斷的關(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>,祝您瀏覽愉快?。海?lt;/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),文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET?Core基礎(chǔ)之Main方法講解

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

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

    .Net?6簡介并和之前版本寫法做對比

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

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

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

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

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

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

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

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

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

最新評論

垣曲县| 铜山县| 溧水县| 黄浦区| 页游| 勃利县| 南岸区| 昌图县| 开江县| 扶绥县| 乳源| 海阳市| 台山市| 丹东市| 嵩明县| 中阳县| 南阳市| 封丘县| 忻城县| 满洲里市| 托里县| 张家港市| 宕昌县| 商河县| 定南县| 蒙山县| 西平县| 祥云县| 长沙市| 外汇| 水城县| 若尔盖县| 高要市| 海林市| 公主岭市| 浪卡子县| 曲水县| 山西省| 阳谷县| 嘉定区| 左贡县|