CAS SSO研究二:cas_server通过查询数据库验证用户名、密码正确性
2014-01-23 14:05
295 查看
1、 jar包准备,因为习惯使用bonecp数据源:
mysql jdbc驱动:mysql-connector-java-5.1.13-bin.jar
cas jdbc支持:cas-server-support-jdbc-3.4.11.jar
数据源:bonecp-0.7.1.RELEASE.jar、guava-r09.jar
2、编辑:WEB-INF\deployerConfigContext.xml,加入数据源:
至此即实现了cas_server通过查询数据库验证用户名、密码正确性
mysql jdbc驱动:mysql-connector-java-5.1.13-bin.jar
cas jdbc支持:cas-server-support-jdbc-3.4.11.jar
数据源:bonecp-0.7.1.RELEASE.jar、guava-r09.jar
2、编辑:WEB-INF\deployerConfigContext.xml,加入数据源:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8" /> <property name="username" value="root"/> <property name="password" value="root"/> <property name="idleConnectionTestPeriod" value="60"/> <property name="idleMaxAge" value="240"/> <property name="maxConnectionsPerPartition" value="30"/> <property name="minConnectionsPerPartition" value="10"/> <property name="partitionCount" value="3"/> <property name="acquireIncrement" value="5"/> <property name="statementsCacheSize" value="100"/> <property name="releaseHelperThreads" value="3"/> </bean>将默认的规则验证方式注释,并加入新的验证:
<!-- <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" /> --> <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="dataSource" ref="dataSource" /> <property name="sql" value="select password from gg_user where loginname = ?" /> <property name="passwordEncoder" ref="passwordEncoder"/> </bean>其中passwordEncoder,我使用的是自定义的encoder:
<bean id="passwordEncoder" class="xx.xx.security.PassWordEncoder"/>
import org.jasig.cas.authentication.handler.PasswordEncoder; import org.springframework.security.authentication.encoding.ShaPasswordEncoder; public class PassWordEncoder implements PasswordEncoder { @Override public String encode(String args) { ShaPasswordEncoder encoder = new ShaPasswordEncoder(); encoder.setEncodeHashAsBase64(true); return encoder.encodePassword(args, null); } }
至此即实现了cas_server通过查询数据库验证用户名、密码正确性
相关文章推荐
- SSO单点登录 cas_server通过查询数据库验证用户名、密码正确性
- 为什么每个请求都要有用户名密码呢,那不是每次都要查询一下了,token,表示这个用户已经验证通过了,在token有效期内,只需要判断token是否有效就可以了
- cas + tomcat 访问数据库验证用户名密码学习笔记(二)
- 通过CouchDB-Python连接带有用户名/密码验证的数据库
- Qt5.9Creator登录界面函数总结(通过连接远程服务器数据库MySql5.7.17进行登录用户名和密码验证)
- .NET中通过域验证用户名和密码
- Java连接MySQL数据库实现用户名密码的验证方法 Java语句中sql查询语句'' ""作用
- CAS扩展——自定义查询数据库验证Handler
- 重置mysql Root用户密码及修改默认字符集一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。 解决
- VC SQL 登录对话框数据库对用户名和密码进行验证代码!
- Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证用户名和密码
- CXF 通过用户名和密码进行验证
- Jquery、 ajax和struts2+Hibernate查询数据库验证用户名是否存在,表单禁止提交等!
- QuickCSharp框架开发(18)------加密用户名和密码数据与数据库读出的密码进行哈希比较(验证用户是否成功登录)
- perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
- CAS配置二-通过数据库进行登录验证
- 【JSP页面】利用数据库中的表格中的数据实现验证用户名和密码
- CAS通过用户名与ip限制密码输入错误次数
- java通过url调用远程接口返回json数据,有用户名和密码验证
- perl 操作 timesten 数据库 带用户名和密码验证