首页 / XML / CAS数据库查询认证(xml配置)
CAS数据库查询认证(xml配置)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CAS数据库查询认证(xml配置),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2225字,纯文字阅读大概需要4分钟。
内容图文
上篇博客介绍的 CAS 的 Demo ,登录界面用户名、密码并没有通过数据库查询认证。本博客,将介绍如何通过 xml 配置,进行 CAS 登录数据库查询认证。 所需数据库 sso _cas, 库中的表: tb_user ,表中字段: Id 、 username 、 password ; 数据库查询认证(通
上篇博客介绍的CAS的Demo,登录界面用户名、密码并没有通过数据库查询认证。本博客,将介绍如何通过xml配置,进行CAS登录数据库查询认证。
所需数据库sso_cas,库中的表:tb_user,表中字段:Id、username、password;
数据库查询认证(通过xml配置)
1,修改cas服务端配置
tomcat下webapps/cas/WEB_INF/deployerConfigContext.xml 文件做如下修改:
<beanclass="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>
修改为:
<beanclass="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<propertyname="dataSource" ref="dataSource" >
<propertyname="sql" value="select password from tb_user whereusername=?" >
添加datasource bean的定义:
<beanid="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName" value="com.mysql.jdbc.Driver" />
<propertyname="url" value="jdbc:mysql://localhost/sso_cas" />
<propertyname="username" value="root" />
<propertyname="password" value="root" />
注意
1,QueryDatabaseAuthenticationHandler是cas-server-support-jdbc提供的查询接口其中一个是通过配置一个 SQL 语句查出密码,与所给密码匹配;
2,sql语句:select password from tb_user whereusername=?根据用户名username 查询表tb_user中密码password字段,CAS会匹配用户输入的密码,如果匹配则通过;
注:可配置多个数据库
如果需要配置多个数据库,可以配置多个QueryDatabaseAuthenticationHandler和多个datasource
假如a_user中有一个用户:auser,b_user中有一个用户buser,这样你无论用哪一个用户登录,CAS就会先查a_user,如果用户名密码都正确,那么就通过,如果a_user中验证失败,那么CAS就会再查b_user,用户名密码都正确就算通过了,此时不正确,就算这次登录验证没通过。
添加相关的jar包
需要在web项目的lib下添加两个包:cas-server-support-jdbc-x.x.x.jar 和 mysql-connector-java-x.x.x-bin.jar(具体版本号根据情况而定)
按如下配置好后,进入CAS登录页,用户名密码需要通过查询数据库来认证,输入用户名admin,密码123,才可登录成功;如果输入用户名admin,密码admin是不能登录成功。
内容总结
以上是互联网集市为您收集整理的CAS数据库查询认证(xml配置)全部内容,希望文章能够帮你解决CAS数据库查询认证(xml配置)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。