jasig CAS实现单点登录(数据库认证)
2015-06-01 20:45
295 查看
之前转载了一篇IBM的CAS单点登录实现,不过瘾,于是到官网弄下最新版本来再战一把:
这个CAS(Central Authentication Service)是耶鲁大学的开源项目,旨在实现企业应用单点登录,还是很不错的,牛b的大学确实不一样,不是我们这些2b学校式的教育。其官网http://www.jasig.org/cas,很不幸,应该翻了墙才能进去,自己去捣鼓翻墙吧,建议就GoAgent足已。直接下载包地址:http://downloads.jasig.org/
实验环境:
?
资源下载地址:
http://downloads.jasig.org/
解压之,jar会再modules目录下,其他都为源代码项目
已经打包的server:
client:
------------------------------------------------------
开始搭建:
CAS服务器配置:
1.在tomcat1所在机器生成证书:
这时会在用户主目录下生成.keystore文件,这个文件也可在上述命令种指定,其中生成过程会填入一些信息,注意输入第一个时(名字与姓氏)就输入你本机器的域名(不能时IP), 这里我的是www.tomcat1.com:
2.导出证书(后面将其导入客户端的jre环境中):
于是在用户主目录下就有了ssotest.crt证书文件(保留着,待会客户端配置要用),
3.配置Tomcat SSL: ${TOMCAT_HOME}/conf/server.xml中83-93行修改为:
?
这时输入用户名及密码(保持一样就可以,默认CAS验证方式只要用户名密码一样就行), 可见其默认验证实现类SimpleTestUsernamePasswordAuthenticationHandler:
?
配置web客户端:
1.生成.keystore(同上);
2.将CAS服务端的导出ssotest.crt证书拷贝到某目录,并且导入到客户端机器的jre运行环境中:
?
4.新建WEB项目cas-web-client, 并加入依赖包:cas-client-core-3.2.1.jar,commons-logging-1.1.jar
5.配置web.xml:
?
启动Cas Server所在tomcat(Tomcat1),再启动web客户端所在tomcat(Tomcat2),此时我们访问两个web客户端:
http://www.tomcat2.com:8080/cas-web-client/index.jsp http://www.tomcat2.com:8080/cas-web-client2/index.jsp
都会被重定想到CAS Server登录界面,登录成功其中之一(将看到对应的index.jsp),再刷新另一个(也能看到对应的index.jsp了,因为已经登录过了), 这就算服务端和客户端都配置OK了。
------------------------------------------------------
现在就是要定制我们自己的验证方式(基于数据库验证):
1.新建WEB项目cas-auth-server,你需要将cas-server-webapp-3.5.2.war中的资源对应拷贝到项目中,再把下载包中cas-server-webapp的源码考到项目中,由于基于数据库验证,还得将cas-server-support-jdbc-3.5.2.jar和mysql-connector驱动包拷贝到WEB-INF/lib目录下,这样就构成了纯净的cas server项目,当然你也可以通过maven去构建,官网也有说明,如图:
2.我们要做的是修改一些配置,就是WEB-INF/deployerConfigContext.xml文件,先配置mysql数据源:
?
authenticationHandlers:
?
这样就配置完成了,将项目导出war包,并部署到tomcat1所在机器上运行起来,效果会之前一样。
相关文章推荐
- MySQL 配合开发日常
- mysql 存在该记录则更新,不存在则插入记录的sql
- sqlserver convert 日期时间 转换格式化
- centos下安装redis,并且设置自启动脚本
- mysql启动和关闭外键约束的方法
- JSP连接mysql数据库分页查询
- SQL 拼接多个字段的值&一个字段多条记录的拼接
- jdbc连接数据库的基本操作
- 如何提高数据库查询速度
- SQL查询获取最后一笔时间数据问题
- 规模化部署mysql5.6
- 规模化部署mysql5.6
- 详解MySQL中EXPLAIN解释命令
- mysqldump备份数据库或数据表为空解决办法。
- 从数据库中导出目的表结构,用于文档编写。
- 爬取微博存入数据库时出错
- 通过DriveManager类实现数据库MySQL的连接
- SQL Server支持的连接查询实现算法
- ORACLE 11g R2数据库安装硬件环境要求
- Oracle创建表空间