JForum与CAS的单点登录(SSO)
试了一下JForum与CAS的单点登录,非常简单。
1.环境:
tomcat 5.0.28
CAS Server 3.3
CAS Client 3.1.1
jforum 2.1.8
2.集成思路:
采用了JForum中提供的对于remoteUser的SSO方案。利用CAS中的“CAS HttpServletRequest Wrapper Filter”实现对Jforum中的request进行wrapper,就可以对利用request.getRemoteUser();从cas中取得登录的用户了。
3.配置
有关CAS的具体的配置方法就不赘述了,要保证是通过https方式。
a)将cas-client-core-3.1.3.jar文件拷贝到jforum 的lib目录
b)在web.xml中,修改
代码 1 <context-param>
2 <param-name>serverName</param-name>
3 <param-value>https://WATER2:8443</param-value>
4 </context-param>
5
6 <filter>
7 <filter-name>CAS Authentication Filter</filter-name>
8 <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
9 <init-param>
10 <param-name>casServerLoginUrl</param-name>
11 <param-value>https://WATER2:8443/cas-server-webapp-3.3.3/login</param-value>
12 </init-param>
13 </filter>
14
15 <filter>
16 <filter-name>CAS Validation Filter</filter-name>
17 <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
18 <init-param>
19 <param-name>casServerUrlPrefix</param-name>
20 <param-value>https://WATER2:8443/cas-server-webapp-3.3.3</param-value>
21 </init-param>
22 </filter>
23
24 <filter>
25 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
26 <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
27 </filter>
28
29 <filter-mapping>
30 <filter-name>CAS Authentication Filter</filter-name>
31 <url-pattern>/*</url-pattern>
32 </filter-mapping>
33
34 <filter-mapping>
35 <filter-name>CAS Validation Filter</filter-name>
36 <url-pattern>/*</url-pattern>
37 </filter-mapping>
38
39 <filter-mapping>
40 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
41 <url-pattern>/*</url-pattern>
42 </filter-mapping>
43
44
2 <param-name>serverName</param-name>
3 <param-value>https://WATER2:8443</param-value>
4 </context-param>
5
6 <filter>
7 <filter-name>CAS Authentication Filter</filter-name>
8 <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
9 <init-param>
10 <param-name>casServerLoginUrl</param-name>
11 <param-value>https://WATER2:8443/cas-server-webapp-3.3.3/login</param-value>
12 </init-param>
13 </filter>
14
15 <filter>
16 <filter-name>CAS Validation Filter</filter-name>
17 <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
18 <init-param>
19 <param-name>casServerUrlPrefix</param-name>
20 <param-value>https://WATER2:8443/cas-server-webapp-3.3.3</param-value>
21 </init-param>
22 </filter>
23
24 <filter>
25 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
26 <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
27 </filter>
28
29 <filter-mapping>
30 <filter-name>CAS Authentication Filter</filter-name>
31 <url-pattern>/*</url-pattern>
32 </filter-mapping>
33
34 <filter-mapping>
35 <filter-name>CAS Validation Filter</filter-name>
36 <url-pattern>/*</url-pattern>
37 </filter-mapping>
38
39 <filter-mapping>
40 <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
41 <url-pattern>/*</url-pattern>
42 </filter-mapping>
43
44
c)修改SystemGlobals.properties
如:
authentication.type = sso
sso.implementation = net.jforum.sso.RemoteUserSSO

浙公网安备 33010602011771号