CAS 单点登录的实际项目应用

当前一段时间,我在维护一个比较老的系统,应该有4年的历史了,现在需要把这个老系统(移动的有线传输系统) 集成到一个整合平台。需要使用单点登录来集成所有的子系统。有一个专门的权限管理子系统,来管理用户部门角色的权限问题。
现在我来简要用来代码的形式介绍下 CAS 在项目的使用情况
1.第一步 数据库方面:
所有的系统都要使用统一的数据库。
2.下载 CAS 中间件  我有配置好的cas 中间件 但是太大 无法上传。我会上传到csdn下载里面 让大家去下载。
地址是: http://download.csdn.net/detail/zskang_love/4379263
需要下载tomcat6的压缩版。
在CAS里面的deployerConfigContext.xml配置项里面找到数据库连接配置 对应的数据库连接和用户名 密码。
3.在项目中需要在web.xml里面配置
<!-- 该过滤器负责用户的认证工作,必须启用它 -->
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>
org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>
http://localhost:9999/cas/login
</param-value>
</init-param>-->
<!--这里的server是服务端的IP -->
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:7001</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 该过滤器负责对Ticket的校验工作,必须启用它-->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name> -->
<!-- 此处配置证书同名的服务-->
<param-value>http://localhost:9999/cas</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:7001/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
--><filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>
org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。
--><filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<!-- 自动根据单点登录的结果设置本系统的用户信息-->
<filter>
<display-name>SingleSignInFilter</display-name>
<filter-name>SingleSignInFilter</filter-name>
<filter-class>com.cabletech.commons.filter.SingleSignInFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SingleSignInFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 
<!-- ======================== 单点登录结束 ======================== -->


4 部署项目至 weblogic
5 跑起来tomcat
然后 访问项目 。
你会看到效果。

猜你喜欢

转载自zskangs1126.iteye.com/blog/1562769
今日推荐