1. 程式人生 > >設定cas sso單點登入地址從properties讀取

設定cas sso單點登入地址從properties讀取

檢視單點登入原始碼發現,

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) {
	}

}