一種驗證用戶登錄狀態的方法、裝置及企業系統的製作方法
2023-04-23 07:53:21
專利名稱:一種驗證用戶登錄狀態的方法、裝置及企業系統的製作方法
技術領域:
本發明屬於計算機軟體領域,尤其涉及一種驗證用戶登錄狀態的方法、裝置及企業系統。
背景技術:
現今,主要是通過保存登錄狀態來解決每次登錄同樣的系統時都需要重複輸入用戶名和密碼的問題。可通過保存用戶登錄狀態的方法來解決登錄同樣的系統時重複輸入用戶名和密碼的問題。其具體的方法主要有以下兩種1、通過%8^011來保存登錄狀態。即在用戶登錄後,將當前的登錄信息放入到 Session中,在下一次登錄進行登錄權限驗證時,根據kssion中的值來判斷用戶是否已登錄。但是,這種方法需要在伺服器端緩存所有用戶的狀態,訪問量較大的時候,Session會佔用較多伺服器資源,且不便於擴充性能。而當伺服器崩潰的時候,所有的用戶都會被迫下線。2、通過Cookie和資料庫來保存登錄狀態。即在用戶登錄後,通過cookie在客戶端記錄一個登錄串(如會員Id等),同時在資料庫保存當前用戶的信息及登錄串。在進行登錄權限驗證時,根據登錄串去資料庫中查找對應的記錄。但是在訪問量較大的時候,容易造成資料庫的連接數超高,增大資料庫壓力。
發明內容
本發明實施例的目的在於提供一種驗證用戶登錄狀態的方法、裝置及企業系統, 旨在解決現有保存登錄狀態的方法佔用伺服器資源多且資料庫壓力大的問題。本發明實施例是這樣實現的,一種驗證用戶登錄狀態的方法,所述方法包括下述步驟伺服器接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;再次登陸時,客戶端發送所述用戶信息及所述第一密串至所述伺服器,所述伺服器對所述用戶信息進行加密處理生成第二密串;通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。本發明實施例的另一目的在於提供一種驗證用戶登錄狀態的裝置,所述裝置包括第一密串生成模塊,接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;第二密串生成模塊,再次登陸時,接收客戶端發送的所述用戶信息及所述第一密串,對所述用戶信息進行加密處理生成第二密串;登錄狀態保存模塊,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。
本發明實施例另一目的在於提供一種包含所述驗證用戶登錄狀態的裝置的企業系統。在本發明實施例中,用戶第一次登陸系統或網站時,採用預設的算法對用戶信息進行加密,生成第一密串。當用戶再次登錄相同的系統或網站時,採用預設的算法根據用戶信息生成第二密串後,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。所述方法的用戶信息保存在客戶端,不佔用伺服器資源,極大地減小了伺服器的負擔。即使在訪問量大的時候,也能保證性能,很好的提升了用戶體驗。
圖1是本發明第一實施例提供的驗證用戶登錄狀態的方法的流程圖;圖2是本發明第二實施例提供的驗證用戶登錄狀態的方法的流程圖;圖3是本發明實施例提供的驗證用戶登錄狀態的裝置示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。本發明實施例在用戶在第一次登錄成功後,下一次再登錄相同的系統或網站時採用比較新生成的第二密串和預先存儲在客戶端的第一密串是否相等的方法來驗證用戶登錄狀態。本發明提供了一種驗證用戶登錄狀態的方法、裝置及企業系統所述方法包括伺服器接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;再次登陸時,客戶端發送所述用戶信息及所述第一密串至所述伺服器,所述伺服器對所述用戶信息進行加密處理生成第二密串;通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。所述裝置包括第一密串生成模塊,接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;第二密串生成模塊,再次登陸時,接收客戶端發送的所述用戶信息及所述第一密串,對所述用戶信息進行加密處理生成第二密串;登錄狀態保存模塊,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。所述企業系統包含所述驗證用戶登錄狀態的裝置。為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。實施例一圖1示出了本發明第一實施例提供的一種驗證用戶登錄狀態的方法的流程,詳述如下
在步驟SlOl中,伺服器驗證接收到的用戶輸入的用戶驗證信息。在本發明實施例中,在用戶第一次登陸時,伺服器接收輸入的用戶驗證信息並驗證,所述用戶驗證信息包括但不限於用戶名、密碼等。在步驟S102中,當用戶驗證信息驗證成功後,伺服器採用預設的算法對用戶信息進行加密處理,生成第一密串,並將用戶信息與第一密串存儲到客戶端中。在本發明實施例中,當用戶驗證信息驗證成功後,以Cookie的方式,伺服器採用預設的算法對用戶信息進行加密處理,生成第一密串。所述用戶信息為用戶唯一標識、用戶 IP位址中的一種或者多種組合,用戶發送用戶驗證信息的時候一併發送用戶信息到伺服器。因此,第一密串可以是對用戶唯一標識進行加密處理後生成、對用戶IP位址進行加密處理後生成或者對用戶唯一標識和用戶IP位址共同進行加密處理後生成。以下以使用哈希算法生成第一密串為例來詳細說明,但並不限於此算法,也可以是其他任一算法。例如ClientSig = (User). hashCode ;其中,ClientSig為密串;User為用戶信息;hashCode 表示使用哈希算法。具體可為以下三種;1、採用預設的算法對用戶唯一標識進行加密處理後生成第一密串。算法如下ClientSig = (UserId). hashCode ;其中,ClientSig為密串;Userid為用戶唯一標識(此處以用戶ID作為用戶唯一標識);hashCode 表示使用哈希算法。2、採用預設的算法對用戶IP位址進行加密處理後生成第一密串。算法如下ClientSig = (Ip) · hashCode ;其中,ClientSig為密串;Ip為用戶IP位址;hashCode 表示使用哈希算法。3、採用預設的算法對用戶唯一標識和用戶IP位址共同進行加密處理後生成第一密串。算法如下ClientSig = (Userld+Ip). hashCode ;其中,ClientSig為密串;Userid為用戶唯一標識(此處以用戶ID作為用戶唯一標識);Ip為用戶IP位址;hashCode 表示使用哈希算法。在本發明實施例中,生成第一密串後,將用戶信息及第一密串存儲到客戶端中。在步驟S103中,用戶再次登陸時,客戶端發送所述用戶信息及所述第一密串至伺服器。在本發明實施例中,用戶再次登陸相同的系統或網站時,伺服器首先接收從客戶端傳入的用戶信息及第一密串。在步驟S104中,伺服器採用預設的算法對用戶信息進行加密處理,生成第二密
串ο在本發明實施例中,第二密串的生成方法與步驟S102中生成第一密串的方法相同,在此就不再贅述了。在步驟S105中,伺服器比較第二密串與第一密串是否相等,若是則執行步驟 S106,否則執行步驟S107。在本發明實施例中,伺服器通過比較第二密串與第一密串是否相等來驗證用戶是否是上一次登陸時輸入正確用戶名和密碼的用戶,以此來判斷用戶登錄狀態是否驗證成功,即通過比對第二密串與第一密串驗證用戶信息對應用戶的登錄狀態。在步驟S106中,保持用戶登陸狀態。在本發明實施例中,當第二密串與第一密串相等時,則用戶具有登錄權限,保持用戶登錄狀態。在步驟S107中,用戶登陸狀態驗證失敗。在本發明實施例中,當第二密串與第一密串不相等時,則用戶不具有登錄權限,用戶登陸狀態驗證失敗,請用戶重新輸入驗證信息登錄。在本發明實施例中,用戶第一次登陸系統或網站時,採用預設的算法對用戶信息進行加密,生成第一密串。當用戶再次登錄相同的系統或網站時,伺服器採用預設的算法對用戶信息進行加密處理,生成第二密串後,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。由於用戶信息保存在客戶端,不佔用伺服器資源,極大地減小了伺服器的負擔。即使在訪問量大的時候,也能保證性能,很好的提升了用戶體驗。實施例二 圖2示出了本發明第二實施例提供的一種驗證用戶登錄狀態的方法的流程,詳述如下在步驟S201中,伺服器驗證接收到的用戶輸入的用戶驗證信息。在步驟S202中,當用戶驗證信息驗證成功後,伺服器採用預設的算法對用戶信息和伺服器密串進行加密處理,生成第一密串,並將用戶信息與第一密串存儲到客戶端中。在本發明實施例中,當用戶驗證信息驗證成功後,以Cookie與加密的方式,伺服器採用預設的算法對用戶信息和伺服器密串進行加密處理,生成第一密串。伺服器密串包括伺服器隨機生成的密串或預先存儲於伺服器的密串,所有用戶共同使用同一個伺服器密串。由於所述用戶信息為用戶唯一標識、用戶IP位址中的一種或者多種組合。因此,加密方式共有3種。下面將詳細說明。以下以使用哈希算法為例來詳細說明,但並不限於此算法,也可以是其他任一算法。例如ClientSig = (User+ServierSig). hashCode;其中,ClientSig為密串;User為用戶信息;ServierSig為伺服器密串; hashCode 表示使用哈希算法。具體為以下三種1、採用預設的算法對用戶唯一標識和伺服器密串進行加密處理,生成第一密串。算法如下ClientSig = (Userld+ServierSig). hashCode ;其中,ClientSig為密串;Userid為用戶唯一標識(此處以用戶ID作為用戶唯一標識);ServierSig為伺服器密串;hashCode 表示使用哈希算法。2、採用預設的算法對用戶IP位址和伺服器密串進行加密處理生成第一密串。算法如下ClientSig = (Ip+ServierSig). hashCode ;其中,ClientSig為密串;Ip為用戶IP位址;ServierSig為伺服器密串; hashCode 表示使用哈希算法。3、採用預設的算法對用戶唯一標識、用戶IP位址和伺服器密串進行加密處理生成第一密串。算法如下ClientSig = (Userld+Ip+ServierSig). hashCode;其中,ClientSig為密串;Userid為用戶唯一標識(此處以用戶ID作為用戶唯一標識);Ip為用戶IP位址;ServierSig為伺服器密串;hashCode 表示使用哈希算法。在本發明實施例中,生成第一密串後,將用戶信息及第一密串存儲到客戶端中。在步驟S203中,用戶再次登陸時,客戶端發送所述用戶信息及所述第一密串至伺服器;在步驟S204中,伺服器採用預設的算法對用戶信息和伺服器密串進行加密處理, 生成第二密串;在步驟S205中,伺服器比較第二密串與第一密串是否相等,若是則執行步驟 S206,否則執行步驟S207 ;在步驟S206中,保持用戶登陸狀態;在步驟S207中,用戶登陸狀態驗證失敗。在本發明實施例中,根據用戶信息及伺服器密串生成第一密串及第二密串的方法的複雜度得到了加強,能夠防止被破解。且伺服器僅存儲了一個伺服器密串,不會佔用伺服器資源。實施例三圖3示出了本發明實施例提供的驗證用戶登錄狀態的裝置的結構,此裝置內置於伺服器,為了便於說明,僅示出了與本發明實施例相關的部份。該裝置可以是內置於企業系統中的軟體單元、硬體單元或者軟硬體相結合的單元,或者作為獨立的掛件集成到企業系統或企業系統的應用系統中。其中用戶名密碼驗證模塊31,用於驗證接收到的用戶輸入的用戶驗證信息。第一密串生成模塊32,當用戶驗證信息驗證成功後,採用預設的算法對用戶信息進行加密處理生成第一密串,並將用戶信息與第一密串存儲到客戶端中。此模塊還包括一個小單元第一密串生成單元321,當用戶名和密碼驗證成功後,採用預設的算法對用戶信息和伺服器密串進行加密處理,並將用戶信息與第一密串存儲到客戶端中。在本發明實施例中,所述用戶信息為用戶唯一標識、用戶IP位址中的一種或者多種組合。第二密串生成模塊33,用戶再次登陸時,接收客戶端發送的所述用戶信息及所述第一密串,對所述用戶信息進行加密處理生成第二密串,第二密串與第一密串的生成方法
7相同。此模塊還包括一個小單元第二密串生成單元331,用戶再次登陸時,接收客戶端發送的所述用戶信息及所述第一密串,對所述用戶信息進行加密處理生成第二密串,第二密串與第一密串的生成方法相同。登錄狀態判定模塊34,當第二密串與第一密串相等時,保持用戶登錄狀態;當第二密串與第一密串不相等時,用戶登錄狀態驗證失敗。在本發明實施例中,伺服器通過比較第二密串與預先存儲在客戶端的第一密串是否相等來驗證用戶登錄狀態是否能成功驗證。在本發明實施例中,用戶第一次登陸系統或網站時,採用預設的算法對用戶信息進行加密,生成第一密串。當用戶再次登錄相同的系統或網站時,伺服器採用預設的算法對用戶信息和伺服器密串進行加密處理,生成第二密串後,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。由於用戶信息保存在客戶端,伺服器僅保存一個伺服器密串,不佔用伺服器資源,極大地減小了伺服器的負擔。即使在訪問量大的時候,也能保證性能,很好的提升了用戶體驗。且根據用戶信息及伺服器密串生成密串的方法的有較強的複雜度,能夠防止被破解。本領域普通技術人員可以理解,實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以在存儲於一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁碟、光碟等。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種驗證用戶登錄狀態的方法,其特徵在於,所述方法包括下述步驟伺服器接收客戶端發送的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由所述伺服器加密處理後的用戶信息;再次登陸時,客戶端發送所述用戶信息及所述第一密串至所述伺服器,所述伺服器對所述用戶信息進行加密處理生成第二密串;通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。
2.如權利要求1所述的方法,其特徵在於,所述用戶信息為用戶唯一標識、用戶IP位址中的一種或者多種組合。
3.如權利要求1所述的方法,其特徵在於,在所述伺服器接收客戶端傳入的用戶信息及第一密串的步驟之前,所述方法還包括伺服器驗證所述客戶端傳入的用戶信息。
4.如權利要求1所述的方法,其特徵在於,所述第一密串及第二密串還包括由所述伺服器加密處理後的伺服器密串。
5.如權利要求4所述的方法,其特徵在於,所述伺服器密串由伺服器隨機生成或預先存儲於伺服器。
6.如權利要求1所述的方法,其特徵在於,所述伺服器採用不可逆算法進行加密處理。
7.如權利要求6所述的方法,其特徵在於,所述不可逆算法為哈希算法。
8.—種在驗證用戶登錄狀態的裝置,其特徵在於,所述裝置內置於伺服器,所述裝置包括第一密串生成模塊,接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;第二密串生成模塊,再次登陸時,接收客戶端發送的所述用戶信息及所述第一密串,對所述用戶信息進行加密處理生成第二密串;登錄狀態保存模塊,通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。
9.如權利要求8所述的裝置,其特徵在於,所述裝置還包括 用戶驗證模塊,用於驗證接收到的用戶輸入的用戶驗證信息。
10.一種企業系統,其特徵在於,所述系統包括權利要求8或9所述的驗證用戶登錄狀態的裝置。
全文摘要
本發明適用於計算機軟體領域,提供了一種驗證用戶登錄狀態的方法、裝置及企業系統,該方法包括下述步驟伺服器接收客戶端傳入的用戶信息,並將第一密串存儲於客戶端,所述第一密串包括由伺服器加密處理後的用戶信息;再次登陸時,客戶端發送所述用戶信息及所述第一密串至所述伺服器,所述伺服器對所述用戶信息進行加密處理生成第二密串;通過比對所述第二密串與所述第一密串驗證所述用戶信息對應用戶的登錄狀態。本發明通過比對將所述用戶信息進行加密處理後生成的第二密串與預先存儲在客戶端的第一密串驗證所述用戶信息對應用戶的登錄狀態。不佔用伺服器資源,極大地減小了伺服器的負擔。即使在訪問量大的時候,也能保證性能。
文檔編號H04L29/06GK102480474SQ201010565799
公開日2012年5月30日 申請日期2010年11月30日 優先權日2010年11月30日
發明者劉楠, 歐海濤, 譚奇軍 申請人:金蝶軟體(中國)有限公司