乙個儲存使用者資訊的類,支援單一登入

2021-09-30 07:19:59 字數 1161 閱讀 6469

看到這裡很多問如何實現單點登入,本人根據自己的經驗,提供乙個實現單點登入的類。支援web和winfrom,測試成功。

利用雜湊表,作為儲存登入使用者的佇列

private static hashtable m_userlist;

private static timespan m_tssub = new timespan(0, 30, 0);

設定雜湊表初始化為同步封裝(為了執行緒安全)

m_userlist = hashtable.synchronized(new hashtable());

設定了幾種方式

1、登入資訊在資料庫中驗證成功後呼叫addusertolist(string username, long sessionid)

2、除登入外其他所有功能呼叫之前首先呼叫該方法 checkuserlogin(string username, long sessionid)

在第一種方式中,需要處理「如果使用者已經登入過,則只更新登入流水號及操作時間,否則新加入佇列"

檢查完雜湊表之後再進行清理操作,

不能在檢查過程中執行雜湊表的刪除鍵值操作,否則會出現異常。

具體**如下

/// 使用者名稱

/// 登入流水號

///

/// 0:使用者及登入流水號成功儲存於佇列

/// -1:儲存失敗

///

public static int addusertolist(string username, long sessionid)

else}}

catch (exception exp)

return ret;

}///

/// 除登入外其他所有功能呼叫之前首先呼叫該方法

///

/// 使用者名稱

/// 登入流水號

///

/// 0:驗證使用者登入成功

/// -1:驗證使用者登入失敗

/// -2:使用者未登入

/// -3:使用者已重新登入或在別處登入

///

/// 統計數

public static int getusercount()

}catch

return count;}}

}de>

乙個儲存使用者資訊的類,支援單一登入。

C 乙個儲存使用者資訊的類,支援單點登入

看到這裡很多問如何實現單點登入,本人根據自己的經驗,提供乙個實現單點登入的類。支援web和winfrom,測試成功。設定雜湊表初始化為同步封裝 為了執行緒安全 m userlist hashtable.synchronized new hashtable 設定了幾種方式 1 登入資訊在資料庫中驗證成...

乙個四使用者資訊同步更新的儲存過程

不實用,之所以寫,一為領導的要求,另外也熟悉下寫 多寫點也沒什麼壞處,並且寫了之後發現臨時表還挺容易用的,資料量小的時候,並顯不出臨時表速度不行的問題 如下 set quoted identifier on goset ansi nulls on go name 遊戲中四人資料同時更新 design...

乙個四使用者資訊同步更新的儲存過程

不實用,之所以寫,一為領導的要求,另外也熟悉下寫 多寫點也沒什麼壞處,並且寫了之後發現臨時表還挺容易用的,資料量小的時候,並顯不出臨時表速度不行的問題 如下 set quoted identifier on goset ansi nulls on go name 遊戲中四人資料同時更新 design...