如何在多個Web專案中共享資訊,歡迎討論
問題提出:如果使用者在一個Web專案中登入並儲存了使用者資訊,然後又跳轉到另一個Web專案中(只能是超鏈或者sendRedirect),然而在第二個Web專案中要用到使用者的基本資訊和他對第二個Web專案中相應模組的操作許可權(如頁面內某些按鈕是否可操作,這個許可權應該在他跳轉前初始化好),那麼,怎麼在第二個Web專案的相應模組中安全的獲取所需要的資訊呢?並且,如果使用者直接輸入第二個Web專案的那個模組,應該不允許訪問,因為他沒有經過第一個Web專案進行認證。如果把使用者的資訊以引數的形式寫在那個地址的後面,這樣也是不安全的,因為如果記住了那些引數,就可以直接進入模組了。
我的解決方法:
方法1:在第一個Web中儲存使用者資訊到資料庫中,並把一個認證碼發個第二個Web,緊接著在第二個Web中根據認證碼讀取,讀完後刪除。如果讀取讀取不到,那麼報錯,說明使用者無權訪問。如果讀取到了,那麼顯示,並且把這條記錄刪除,以免別人再去讀取。在資料庫中的記錄主鍵可以用session id,這樣保證使用者每次登入都是不同的,以免下次(或別人)直接透過該認證碼讀取資料。
方法2:上面的這種方法是透過資料庫中轉,可能速度有點慢。可以把使用者的資訊和操作許可權儲存到第一個Web中的一個靜態Map中,作一個Servlet專門負責與第二個Web通訊,傳送給第二個Web的引數除了那個認證碼,還要有第一個Web的地址,第二個Web獲取通訊地址,根據認證碼透過Url的connection來取得Servlet中的資訊,同樣,取走後刪除資訊。也就是說,方法1透過資料庫中轉,方法2透過一個靜態的Map(或其他的東西,但要保證多使用者訪問)中轉。
我不知道還有沒有其他更好的方法,希望大家討論。
還有,方法1效率低,方法2速度快,我認為比較好,但是如果第一個Web是釋出在一個叢集中,那怎麼辦呢?這是我正面臨的問題!
我的解決方法:
方法1:在第一個Web中儲存使用者資訊到資料庫中,並把一個認證碼發個第二個Web,緊接著在第二個Web中根據認證碼讀取,讀完後刪除。如果讀取讀取不到,那麼報錯,說明使用者無權訪問。如果讀取到了,那麼顯示,並且把這條記錄刪除,以免別人再去讀取。在資料庫中的記錄主鍵可以用session id,這樣保證使用者每次登入都是不同的,以免下次(或別人)直接透過該認證碼讀取資料。
方法2:上面的這種方法是透過資料庫中轉,可能速度有點慢。可以把使用者的資訊和操作許可權儲存到第一個Web中的一個靜態Map中,作一個Servlet專門負責與第二個Web通訊,傳送給第二個Web的引數除了那個認證碼,還要有第一個Web的地址,第二個Web獲取通訊地址,根據認證碼透過Url的connection來取得Servlet中的資訊,同樣,取走後刪除資訊。也就是說,方法1透過資料庫中轉,方法2透過一個靜態的Map(或其他的東西,但要保證多使用者訪問)中轉。
我不知道還有沒有其他更好的方法,希望大家討論。
還有,方法1效率低,方法2速度快,我認為比較好,但是如果第一個Web是釋出在一個叢集中,那怎麼辦呢?這是我正面臨的問題!
相關文章
- 多層架構的討論,歡迎拍磚架構
- 在專案中使用設計模式的淺見,歡迎大家討論:)設計模式
- 【經驗分享,歡迎討論】專案管理中需求變更太頻繁,怎麼辦?專案管理
- 自創一個簡單的Web分散式解決方案,歡迎大家討論Web分散式
- 歡迎參與討論POP(Project Oriented Project)Project
- 求一.NET算術演算法.歡迎朋友們都進來討論討論.演算法
- JAVA開原始碼交流QQ群!!歡迎加入並討論!!Java原始碼
- 如何在 Ubuntu 中禁用 motd 歡迎訊息Ubuntu
- 活動 | 歡迎加入網路安全威脅資訊共享計劃
- 關於在web project專案中的程式碼重用問題討論WebProject
- 【案例討論】災難與拯救 資料安全精彩案例大討論!歡迎大家踴躍參與!
- 論如何在伺服器上部署一個自己的web前端專案伺服器Web前端
- 尋求解決之道.歡迎探討!!!
- 關於DAO的封裝,請板橋幫助,歡迎大家討論封裝
- 關於連線bean中可能發生多執行緒的問題請教,歡迎大家一起討論Bean執行緒
- 如何在專案中記錄日誌資訊?
- nginx多個專案放在不同的tomcat中,共享同一個埠NginxTomcat
- 討論專案合理分層
- Asp.net中多專案共享Session (轉)ASP.NETSession
- 歡迎加入d3shop,一個DDD實戰專案
- 如何在多臺 Web 伺服器上共享 sessionWeb伺服器Session
- IDEA如何在一個專案空間下管理多個專案?Idea
- ThinkPHP中文WEB框架歡迎你PHPWeb框架
- C語言寫的磁碟排程演算法,歡迎大家來討論C語言演算法
- 分享一下自己的簡歷, 拋磚引玉歡迎討論
- 講座:資料庫專案生命週期中的優化 歡迎大家光臨探討資料庫優化
- 專案需求討論 — 待機介面
- 眾推專案的最近討論
- 短連結生成專案,歡迎各位大佬PR
- 本人的開源專案列表!歡迎下載!
- 有興趣瞭解一下審批工作流歡迎來討論!!!!!
- 專案需求討論-自定義滾輪
- 專案需求討論 – 定位功能小結
- 【原創】組織專案管理討論專案管理
- 專案需求討論 - 定位功能小結
- 討論用jetspeed做專案的朋友!!
- 多個web服務接入共享ingressgatewayWebGateway
- 如何在github同一個倉庫上傳多個專案Github