安装部署CAS Server
来源:互联网 发布:淘宝350模板自助开通 编辑:程序博客网 时间:2024/05/23 19:15
参考文献:
http://sucre.blog.51cto.com/1084905/683624
1.安装部署CAS Server
从官网下载CAS Server,今天发现CAS Server的官网居然被墙掉了,感叹天朝的神奇之处。后来从同事那里拷贝到了cas-server-3.5.2-release.zip。我将其发布到百度云盘上面:http://pan.baidu.com/s/1kUfzh
解压缩这个ZIP包以后,到路径\cas-server-3.5.2-release\cas-server-3.5.2\modules下拷贝cas-server-webapp-3.5.2.war这个war包至tomcat的webapps目录下。为了登录方便,我们将cas-server-webapp-3.5.2.war重命名为cas.war,启动tomcat以后会自动解压缩这个war,在webapps目录下生一个一个cas目录。
2.验证CAS Server安装成功
启动tomcat,访问https://localhost:8443/cas,如果能够出现以下界面就表示CAS Server部署成功。
虽然 CAS Server 已经部署成功,但这只是一个缺省的实现,在默认的server界面,只要输入用户名和密码相同,就可以登录,比如我们都输入aaa,然后点击登陆。
3.扩展认证接口(JDBC)
当然,在实际使用的时候,这样做肯定是不行的,还需要根据实际概况做扩展和定制,最主要的是扩展认证 (Authentication) 接口和 CAS Server 的界面。我们通常都会使用jdbc连接数据库进行认证,这种情况,用户名和密码被保存在数据库的某个表中。需要进行如下配置。
在MySQL数据库下创建一个叫做CAS的数据,然后在该数据库中创建一张app_user表,然后在这张表中插入数据,创建表和插入记录的sql脚本如下:
CREATE TABLE `app_user` ( `username` varchar(30) NOT NULL default '', `password` varchar(45) NOT NULL default '', PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --并添加如下用户: INSERT INTO `app_user` (`username`,`password`) VALUES ('test','111'), ('user','222'), ('tom','333'), ('jim','000');
用编辑器打开%CATALINA_HOME%/webapps/cas/WEBINF/deployerConfigContext.xml,找到
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
将其注释掉,然后在同一级别下面添加一个bean,其内容如下所示:
<!-- <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> --> <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="sql" value="select password from app_user where username=?" /> <property name="dataSource" ref="dataSource" /> </bean>
然后在添加一个bean,这个bean是跟authenticationManager同一级别的,注意这个很重要,这个bean不是跟之前那个bean class同级。其内容如下:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> <property name="url"><value>jdbc:mysql://localhost:3306/cas</value></property> <property name="username"><value>root</value></property> <property name="password"><value>root</value></property> </bean>
如果不想单独再创建一个bean id的话,可以通过通过如下配置完成,并且这个bean使用了密码校验,可以从数据表user中查询用户密码,并对密码进行MD5加密校验,这个认证器位于cas-server-support-jdbc包中。
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/cas?useUnicode=true&characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> </property> <property name="sql" value="select password from app_user where username=?" /> <property name="passwordEncoder"> <bean class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="MD5" /> </bean> </property> </bean>
然后从\cas-server-3.5.2-release\cas-server-3.5.2\modules目录下拷贝cas-server-support-jdbc-3.5.2.jar,再下载mysql-connector-java-5.1.26-bin.jar,将这两个文件拷贝到%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录下。
此时在登录https://localhost:8443/cas,然后使用jim/000,test/111,tom/333,user/222,test/test,test/1234,可以发现,前面四组是可以通过验证的,而后面两组验证失败。通过验证以后,再次登陆https://localhost:8443/cas,会提示已经登录,此时如果要注销,可以在输入:https://localhost:8443/cas/logout。
在配置文件中可以看到,这里的认证器配置的是一个list,默认情况下,只要有一个认证器通过认证,就认为是合法的用户,建议选择合适的认证器放在最前面。比如说,如果不注释之前的SimpleTestUsernamePasswordAuthenticationHandler这个认证器。
- 安装部署CAS Server
- CAS(2)-部署Cas Server
- CAS(2)-部署Cas Server
- 3、部署Cas Server
- cas server 端部署
- 安装部署jasig cas server及相关实践
- 安装配置CAS server
- cas 服务端https安装部署。
- Cas(02)——部署Cas Server
- Cas(02)——部署Cas Server
- Cas Server 与Cas Client 的配置与部署
- Cas(02)——部署Cas Server
- CAS 实现单点登陆之一 : CAS Server 部署
- Cas Server 与Cas Client 的配置与部署
- cas 单点登录(SSO)之一: jasig cas-server 安装
- CAS学习记录1--CAS Server端安装
- CAS Server部署(支持Tomcat的SSL)
- 单点登录(三)-----实战-----cas server 源码下载和部署
- C语言中的那些库函数(持续更新中)
- Spring-03-AOP配置
- Windows下boost安装及其在VS2013中配置
- Android 开发者必备的书单
- 【CSS3】设置动画开始播放的时间
- 安装部署CAS Server
- CF582D
- ui进阶第五天,绘图的基本介绍
- php数组
- Java学习之枚举
- C/S 与 B/S 区别
- android 如何开始测试
- 静态工厂方法
- STM32串口读写