目的:內網系統連接jira 單點登錄 一次登錄 即可完成全部的登錄
為什么單寫jira 相關的代碼 主要是因為jira 的源碼其實不太好修改 資料也是國外的 而且並沒有說明如何接入
流程:
jira登錄頁面 攔截器實際上訪問到了sso 的登錄頁面 參數為redirectTo 目標地址 登錄到了SSO的基本頁面 登錄頁面去請求SSO服務器 進行登錄 產生一個唯一的key 然后再發到jira 的服務器 jira 服務器經歷過 校驗 然后確定是否登錄 如果不行就直接返回 到登錄界面
實際做法:
同步認知 :
1.每個成熟的網站都存在攔截器 攔截的信息 jira 同樣存在 jira 攔截的登錄網頁 配置 為一個JiraLoginFilter.class 的類
2.權限校驗 登錄網站網址經過了攔截器的攔截 另一層則是權限校驗 經過權限校驗確定之后 再顯示特定的網頁
1.創建一個項目 項目內部需要關注兩個類
一個 JiraSeraphAuthenticator.class 類 //作用權限的校驗
另一個 JiraLoginFilter.class 類 //作用登錄的攔截器
JiraLoginFilter.class 登錄攔截器的類 重寫 doFilter方法
JiraSeraphAuthenticator.class 重寫 getUser 方法