單點登陸(SSO),多個系統一次登陸權限均配,
彼此訪問無需要再次登陸!
大多都是用webservice實現令牌傳遞,跨系統,跨平臺的權限驗證。
用數據表實時性不是很好,要總刷新,數據庫壓力大
如果程序出錯,比如操作數據庫失敗,就不準確了
用Application比較好,但是頻繁操作Application會對網站的性能有影響
最好的辦法就是設置一個靜態變量
asp.net的靜態變量就是爲了幹這個的
因爲靜態變量是類的全部實例共享的
我用這種方法寫了一段代碼,這段代碼是適用於windows驗證的情況,代碼編譯通過,我沒有測試,但是道理是這樣的。
-------------------------------------------------------------------------------
1. 定義一個通用類
using System;
using System.Collections;
namespace Web
{
/// <summary>
/// CheckUserLogon 的摘要說明。
/// </summary>
public class CheckUserLogon
{
public static Hashtable userList = new Hashtable();
public CheckUserLogon()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
public static void AddUserList( string user )
{
userList.Add( user , "online" );
}
public static void RemoveUserList( string user )
{
userList.Remove( user );
}
public static bool CheckUserLogined( string user )
{
if ( userList.ContainsKey( user ) )
{
return true;
}
else
{
return false;
}
}
}
}
2.在Global.asax中修改session_start()和session_end()
protected void Session_Start(Object sender, EventArgs e)
{
if ( CheckUserLogon.CheckUserLogined( this.User.Identity.ToString() ) )
{ //如果已經有同名用戶登錄,就清空session,這樣用戶就不能使用
this.Session.Clear();
}
else
{ //如果沒有同名用戶登錄,就記錄當前用戶
CheckUserLogon.AddUserList( this.User.Identity.ToString() );
}
}
protected void Session_End(Object sender, EventArgs e)
{
CheckUserLogon.RemoveUserList ( this.User.Identity.ToString() );
}
if ( CheckUserLogon.CheckUserLogined( this.User.Identity.ToString() ) )
{ //轉到另一個頁面,這裏提示用戶已經有同名用戶登錄
this.Response.Redirect("aaa.aspx")
}
else
{ //如果沒有同名用戶登錄,就記錄當前用戶
CheckUserLogon.AddUserList( this.User.Identity.ToString() );
}
SSO與用戶登錄問題容易混淆
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
asp.net TextBox只讀時不能通過後臺賦值取值解決辦法
sjtstar
2018-08-27 18:54:31
NET 連接池救生員
jiahello
2018-08-27 17:49:59
.Net Remoting和Web Service大比拼
jiahello
2018-08-27 17:49:56
WebService的Web.config中設置連接數據庫
aduo_0513
2018-08-27 07:35:28
gridview使用二
aduo_0513
2018-08-27 07:35:27
存取 oracl blob字段
aduo_0513
2018-08-27 07:35:27
使用帶驗證的Web服務
aduo_0513
2018-08-27 07:35:27
gridview使用一
aduo_0513
2018-08-27 07:35:27
利用xsl轉換xml文件
aduo_0513
2018-08-27 07:35:27
string類型數組轉換爲int型
aduo_0513
2018-08-27 07:35:27
使用NOPI實現Excel導入導出類
孔小爽
2018-08-26 03:40:46
NET 阿里大於短信推送
Cocol_猿
2018-08-26 03:07:54
VS工具箱加載自定義控件不顯示,顯示不全
Cocol_猿
2018-08-26 03:07:54