为sakai配置单点登录
sakai:2.7.1
cas-server:3.4.3.1
cas-client:3.1.12
关于sakai如何配置单点登录官方有一篇教程,http://confluence.sakaiproject.org/display/~steve.swinsburg/CASifying+Sakai.不过里面使用的cas-client版本较低,目前cas官方最新版本已经是3.1.12。新版本和老版本差异极大,不可能再按照sakai官方给出的教程来配置cas,所以要么使用老版本的cas,要么去cas官方查看文档自己进行配置。我使用了3.1.12版本,为了便于以后查阅,特将配置过程记录下来。
通过web.xml进行配置:
通过编辑/webapp/sakai-login-tool/web-inf/web.xml文件添加如下filter:
首先配置Authentication Filter
<filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>https://yourdomain:port/cas/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://yourdomain:port/client</param-value> </init-param></filter>
<filter> <filter-name>CAS Validation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>https://yourdomain:port/cas</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>https://yourdomain:port/clietn</param-value> </init-param></filter>
<filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class></filter>
<filter> <filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class></filter>
login.use.xlogin.to.relogin=falsetop.login=falsecontainer.login = trueloggedOutUrl=http://localhost:8080/cas/logout?service=http://localhost:8080#如果同时使用cas登录和sakai内部登录,可以添加如下配置xlogin.text=Loginxlogin.enabled=true
<bean id="logoutController" />
PKIX path building failed: unable to find valid certification path to requested target
keytool -import -trustcacerts -alias cng_domain -file cas.crt -keystore % $JAVA_HOME/jre/lib/scurity/cacerts