查看单点登录源码发现,
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) {
}
}