單點登入cas從部署到應用和cas和spring security的整合 ------1
程式碼下載地址 沒法上傳不要積分的,,我也很無奈
單點登入cas從部署到應用和cas和spring security的整合 ------2
單點登入cas從部署到應用和cas和spring security的整合 ------3
第一步下載 war 包
解壓純淨的tomcat(可以更改 個簡單的名字便於訪問)
(先啟動一下 tomcat 把war 解壓開)為了 便於自己訪問 把 安全證書驗證去掉
更改配置檔案
此處新增配置
此處的配置 意思是是否需要安全驗證。預設為true 即是需要安全驗證 需要是https訪問
還有就是 我們一般不想用 預設的8080埠 需要修改8080 埠
tomcat修改埠就不在寫上
當修改過tomcat埠後
對應的cas配置資訊也要對應的修改
修改為自己的埠(和tomcat對應)
啟動tomcat 登入上去進行測試
出現這個介面表示 啟動成功
這個賬號和密碼從哪裡來?還在cas 的配置檔案中,會有一個預設的賬號和密碼(deployerConfigContext.xml)
預設的賬號 密碼 可以登入上去,可以對應的新增一個我們自己的賬號方便登入
重啟tomcat 測試使用者
使用admin 的登入成功
現在簡單的修改已經成功,下面做個簡單小案例 來測試
下面是簡單的使用
搭建maven工程 使用war 包方式
在pom中新增依賴
<dependencies>
<!-- cas -->
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>javax.servlet
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
新增tomcat外掛
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<!-- 指定埠 -->
<port>9001</port>
<!-- 請求路徑 -->
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
新增web.xm(檔案過長 放在檔案中供下載)(介紹下配置資訊)
在配置檔案中全部都是 攔截器
這兩個攔截器 就是用於單點登出的效果 是可選選項(建議加上) 可以選擇一個就行的
l
認證攔截器(必須啟動) <param-value>http://localhost:9100/cas/login</param-value> 這裡是伺服器地址埠號要和你修改過的相對應 <param-value>http://localhost:9001</param-value> 這是你的客戶端的地址
攔截規則 攔截所有請求
票據的驗證工作 必須的選項 地址和上面的對應 這個是 cas 的核心 票據就是cas 的核心
票據的攔截規則
獲取使用者登入名 的兩種方式 兩種方式 作用相同 只是方法不同 可選操作
至此配置檔案已經好了 我們建立兩個相同的maven工程 驗證單點登入的實現
埠修改不同 相應 的 web.xml中也進行修改
啟動兩個工程
發現兩個工程 都會到這個地址
最好加個測試介面 然後顯示一下登入名 (當然測試下登入名顯示了)
顯示使用者名稱再次測試
效果 出來了
兩個都可以訪問
退出成功
我們更希望 退出的時候退出顯示的頁面是 登入頁面怎麼辦呢?
修改cas-servlet.xml 的檔案 false 改為true
修改後別忘了 重啟cas 服務
新增一個退出 連線 也可以在位址列寫
退出到百度,, 至此 簡單應用 介紹完畢 下面就是 從 資料庫 查詢使用者名稱和密碼 替換登入介面 和 spring security 整合