設定cas sso單點登入地址從properties讀取
阿新 • • 發佈:2018-11-10
檢視單點登入原始碼發現,
casServerLoginUrl地址 會先從 FilterConfig 中獲取,也就是全域性配置檔案中獲取,當然我們也可以在web.xml中用
<param-name>casServerLoginUrl</param-name>
<param-value>http://127.0.0.1:8080/cas/login</param-value>
配置,這樣的話 每次修改就需要修改web.xml檔案,不是很好。
下面是具體配置方法:
1、自定義一個listener:注意此listener需要在cas的listener之前
<listener>
<listener-class>com.XX.YY.pw.ThLoaderListener</listener-class>
</listener>
然後在這個listener裡面賦予cas需要的三個引數即可:
public class ThLoaderListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent event) { event.getServletContext().setInitParameter("casServerLoginUrl", PlatApplicationContext.getProperty("eip.login")); event.getServletContext().setInitParameter("casServerUrlPrefix", PlatApplicationContext.getProperty("eip.cas")); event.getServletContext().setInitParameter("serverName", PlatApplicationContext.getProperty("client.url")); } @Override public void contextDestroyed(ServletContextEvent sce) { } }