cas(一)之项目搭建
随着企业的发展,业务就会随之复杂,支撑的系统也会增多,痛点也日益明显。比如员工小王,星期五需要请假,小王登陆上公司OA来发起一个请假流程,搞完后,便开始今天工作,刚好小王作为一个招聘,就需要登录到公司内部的招HR系统来填写今天的计划……,会发现小王需要登录两个系统,来做相应的事情,随着公司的发展各个部门的信息化的先后也不一样,难免就会出现:某一天,需要登录好几个系统来完成工作或做协调。当然也可以不介意,我用笔记本记录好不同密码,等陆不同的系统,翻开本子输入密码就好。那么如果有一种方式:只需要输入一次用户名和密码,即登录了所有的系统的。这样岂不是更好。所以,SSO(Single Sign On)单点登录就产生了。
SSO的实现方式有很多种,本文所讲的cas便是其中的一种,特性如下:
- 一个开放和具有很好文档支持的协议;
- 一个Java开源服务器组件;
- 提供多种类型的客 户端包括Java、.Net、PHP、Perl、Apache、uPortal等;
- 能够与uPortal、BlueSocket、TikiWiki、 Mule、 Liferay、Moodle集成使用。
- 一篇详细的手册
下面连接是一篇详细的文档,建议先跟着配置一遍,默认的cas设置是https://的协议,大部分配置会在这里介绍,后面会慢慢把cas项目定制化,比如:https如果没有证书,浏览器会显示该页面显示不安全,所以后面会将https://转换成http://。
http://blog.csdn.net/frinder/article/details/7969925
- 项目搭建
项目是基于Maven搭建,根据项目职责,分为公共模块、Server模块,相关Maven的知识这里不介绍,大家可以自行百度
项目的结构除了server都是java项目(maven),server是web项目(maven),后面新增的项目都是java类型的项目,Maven项目结构如下图所示
| java项目骨架 |
![]() |
| web项目骨架 |
![]() |
父POM如下
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.fzhsh</groupId> <artifactId>cas</artifactId> <packaging>pom</packaging> <version>1.0</version> <modules> <module>cas-server</module> <module>cas-common</module> </modules> <properties> <cas.version>3.5.2</cas.version> </properties> </project>
这里可以看到选取的cas版本为3.5.2
- cas-common项目
common项目主要是提供公共的类,因为本项目中暂时还没有用
- cas-server项目
cas-server项目是核心,其他的都是为了增强cas-server项目的特性的,所以下面着重介绍cas-server项目
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>cas</artifactId> <groupId>com.fzhsh</groupId> <version>1.0</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>war</packaging> <artifactId>cas-server</artifactId> <dependencies> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-webapp</artifactId> <version>${cas.version}</version> <type>war</type> <scope>runtime</scope> </dependency> </dependencies> <build> <finalName>ROOT</finalName> </build> </project>
cas-server-webapp是cas默认的服务器包,使用mvn package命令就可以打包,生成ROOT.war包,也就是cas服务端的逻辑程序。后续的定制都是把文件加入到cas-server里,在打包时会用cas-server的文件替换掉依赖的cas-server-webapp里面的文件,生成定制好的包。
最后,以上就完成了cas-server的项目搭建,使用tomcat启动,默认的用户名和密码一致,便可登录成功
- 参考资料
http://www.oschina.net/p/ja-sig+cas



浙公网安备 33010602011771号