CAS5.2x单点登录(二)cas服务器连接数据库
2018-02-21 17:02
316 查看
前面一节应该已经告诉大家如何搭建cas的服务器了,可是搭建好能用吗?我们现在的用户验证是在哪呢?哪个默认的用户名和密码有是在哪呢?本节就讲一下如何使用cas服务器连接我们自己的用户数据库,毕竟没有哪个公司的用户是写死在配置文件上的。好了,言归正传把,这边我就使用mysql来做为列子。
在5.0版本之前配置数据库进行认证是直接在xml里面注入相应的bean以及驱动,但是5.0之后大改了一下,使用配置文件来达到数据库的操作。可能你会问为什么只要配置几个配置就能到达操作数据库的的作用,因为cas其实已经帮我们实现了好多的类,而配置文件的配置是让他自己能找到相应的类去执行,比如你配置数据库的普通验证,他就去找相应的方法,如果你配置加密的,他就会去找其他的,如果你要自定义的话,你就按照他的那种方法去定义。好了,直接看下面把:
之前我们不是将cas放到tomcat里面运行了吗,里面有一个叫做application.properties的文件,我们的配置就要写在里面,如下图所示
我们看到的最后一行就是设置的默认密码,前面配置的就是端口号以及证书等等。这个暂时对我们没有什么用处。我们就直接看下如何去连接数据库进行用户的验证。其实这些东西官方文档上面都已经给出了,可以自己去查看。
要想进行数据库的连接,必须要导入一些必要的包,比如数据库驱动,mysql连接等包,这些maven都能在网上找到,我这边就例举我使用的pom文件
然后在配置文件里面加上如下简单的配置就可以达到数据库的访问了
在引入这个的同时要将之前的哪个默认密码给删掉。
这时候我们在进行mvn clean package命令的时候会重新生成一个war包,我们将这个新的war包放入到tomcat里面并启动可以看到如下图所示
我们使用数据库里面的数据来进行登录.
我们现在使用的是密文密码,更多时候我们使用的是加密的密码,而cas也为我们提供了这些,比如最简单的md5、加盐以及sha等,cas都提供了只要自己在配置文件里面加就可以了,但是很多时候我们的密码不是简单的这些,这时候就需要我们自己自定义加密了,其实配置文件里面有个cas.authn.jdbc.query[0].passwordEncoder.type这个属性的作用就是我们自己自定义加密使用。只需要实现passwordEncoder(或者其他)这个接口,然后里面写你的加密逻辑即可。
在5.0版本之前配置数据库进行认证是直接在xml里面注入相应的bean以及驱动,但是5.0之后大改了一下,使用配置文件来达到数据库的操作。可能你会问为什么只要配置几个配置就能到达操作数据库的的作用,因为cas其实已经帮我们实现了好多的类,而配置文件的配置是让他自己能找到相应的类去执行,比如你配置数据库的普通验证,他就去找相应的方法,如果你配置加密的,他就会去找其他的,如果你要自定义的话,你就按照他的那种方法去定义。好了,直接看下面把:
之前我们不是将cas放到tomcat里面运行了吗,里面有一个叫做application.properties的文件,我们的配置就要写在里面,如下图所示
我们看到的最后一行就是设置的默认密码,前面配置的就是端口号以及证书等等。这个暂时对我们没有什么用处。我们就直接看下如何去连接数据库进行用户的验证。其实这些东西官方文档上面都已经给出了,可以自己去查看。
要想进行数据库的连接,必须要导入一些必要的包,比如数据库驱动,mysql连接等包,这些maven都能在网上找到,我这边就例举我使用的pom文件
<dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-jdbc-drivers</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-jdbc</artifactId> <version>${cas.version}</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency>
然后在配置文件里面加上如下简单的配置就可以达到数据库的访问了
cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false cas.authn.jdbc.query[0].user=root cas.authn.jdbc.query[0].password=root cas.authn.jdbc.query[0].sql=select * from test_table where name=? cas.authn.jdbc.query[0].fieldPassword=pd cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
在引入这个的同时要将之前的哪个默认密码给删掉。
这时候我们在进行mvn clean package命令的时候会重新生成一个war包,我们将这个新的war包放入到tomcat里面并启动可以看到如下图所示
我们使用数据库里面的数据来进行登录.
我们现在使用的是密文密码,更多时候我们使用的是加密的密码,而cas也为我们提供了这些,比如最简单的md5、加盐以及sha等,cas都提供了只要自己在配置文件里面加就可以了,但是很多时候我们的密码不是简单的这些,这时候就需要我们自己自定义加密了,其实配置文件里面有个cas.authn.jdbc.query[0].passwordEncoder.type这个属性的作用就是我们自己自定义加密使用。只需要实现passwordEncoder(或者其他)这个接口,然后里面写你的加密逻辑即可。
相关文章推荐
- 安装网站时出现“连接数据库出现数据库服务器或登录密码无效,无法连接数据库,请重新设定”解决方法
- 关于连接数据库失败、SQLServer xxxx 已成功与服务器建立连接,但是在登录前的握手期间发生错误。 (provider: SSL Provider, error: 0 - 等待的操作过时。)
- cas-简单的验证cas服务器登录和读取数据库账号密码登录
- MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库
- Qt5.9Creator登录界面函数总结(通过连接远程服务器数据库MySql5.7.17进行登录用户名和密码验证)
- CAS的配置,登录界面的更改以及数据库的连接--Java(Eclipse,非Maven)
- 轻松搭建CAS 5.x系列(3)-连接数据库,使用数据库表中的帐号做登录
- 程序连不上数据库 已成功与服务器建立连接,但是在登录前的握手期间发生错误
- 登录界面,数据库,服务器,客户端的连接
- centos linux ip地址无法连接数据库,ssh登录服务器时必须使用22端口
- 使用CAS登录模块连接数据库验证用户合法性
- MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库
- CAS5.2x单点登录(一)——搭建cas服务器
- cas+tomcat+shiro实现单点登录-3-CAS服务器深入配置(连接MYSQL)
- SqlServer 不同服务器之间数据库连接、数据库登录、数据传递
- 使用CAS登录模块连接数据库验证用户合法性
- eclipse maven整合SSH项目(实现简单的连接数据库实现登录小例子)
- C#_连接数据库实现 登录注册界面
- HenryWang SQL Server 2005 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程)
- 如何使用navicat等可视化工具连接到服务器上的数据库?