記一次專案中實現的單點登陸方案

2021-10-05 06:14:20 字數 1210 閱讀 9686

**記一次專案中實現的單點登陸方案**
因為以前沒有做過單點登陸,突然臨危受命在原來專案的基礎上實現單點登陸,在網上看了一番,還是磕磕絆絆的做了出來,下面是自己總結的步驟,算是一番記錄吧。

1.redis的安裝和配置

redis基本都在安裝目錄下的redis.conf檔案中進行相關引數配置

1)port:埠號,預設為6379

2)bind:預設為127.0.0.1,redis繫結的主機位址,外部使用的話要把這個注釋掉。

3)requirepass:指定redis訪問密碼

2.在專案中配置好redis用的連線工具類。

3.在登入成功後,用uuid生成一串隨機字串作為key,賬號密碼作為value,存入redis中。宣告乙個靜態常量作為公共的key,隨機字串作為value,放入客戶端的cookie中。

setlogincookie方法

根據cookie來取值

1.在***中判斷是否有所屬的cookie

2.如果不為空的話會跳轉到/loginsubmit方法中。

3.通過賬號密碼的校驗後,會跳轉到/backstage/index方法中

4.這裡本來是直接是使用者然後放入model中跳轉到主頁的,但後期出現了在運維那裡賬號退出後,如果不關閉瀏覽器的話,此時瀏覽器還會記住前乙個使用者的資訊,運維換賬號登入配電系統,配電系統顯示的還是上乙個使用者的資訊。在這裡我做出判斷,如果當前redis中的賬號密碼和此時瀏覽器記住的賬號密碼不一樣時,清空瀏覽器的賬號密碼,再跳轉到/loginsubmit方法中,使用redis中的賬號密碼登入,解決的上述問題。

5.關於cookie共享的問題,因為我們這邊的三個專案是部署在同乙個tomcat中,所以可以通過cookie.setpath("/")來實現共享。另乙個專案為客戶自己的專案,所以後來商議通過在同乙個一級網域名稱下來實現cookie共享。

記專案中的一次記憶體洩漏問題

最近在使用qt開發乙個大型專案,記憶體占用可能有點多,其中在vector.push back 的時候報了乙個segment fault錯誤,感到很奇怪。因為平時遇到段錯誤,大多數情況下都是陣列越界 使用訪問元素 而vector的push back 函式,在新增元素時,如果空間不足,會先向記憶體申請原...

記一次配置Linux伺服器配置ssh登陸方式

測試系統資訊 1.新增檔案 vi root ssh authorized keys 建立檔案authorized keys authorized keys 存放公鑰,遠端使用私鑰登陸 chmod 600 root ssh authized keys 加許可權 chmod 700 root ssh 加...

記一次設定金鑰登陸centos7所遇問題 滄浪

所處環境 centos7連線工具 xshell1.上傳公鑰2.修改公鑰名稱mv id rsa 2048.pub authorized keys3.修改ssh配置檔案 root localhost ssh vim etc ssh sshd configprotocol 2 啟用ssh協議v2版本pas...