CAS5.3单点登录(二)连接mysql数据库

上一章说cas服务器中的登录帐号名是配置中写死的,实际情况中不太可能仅有一个用户,而是将所有用户存在一个数据库表中,以便对登录帐号进行增删改的处理。本章就来讲述如何配置cas连接数据库。

(一)删除旧的cas.war包

cas在ubuntu中连接数据库需要修改配置后重新打包,所以首先需要把之前的target文件删除,命令如下:

root@ubuntu:~# cd /usr/local/cas-overlay-template-master
root@ubuntu:/usr/local/cas-overlay-template-master# mvn clean         //清除旧的target文件夹

CAS5.3单点登录(二)连接mysql数据库_第1张图片

(二)修改pom.xml文件

root@ubuntu:~# vi /usr/local/cas-overlay-template-master/pom.xml

找到下图所示这一段

CAS5.3单点登录(二)连接mysql数据库_第2张图片

在注释和之间加入下面的内容

                
    
        org.apereo.cas
        cas-server-support-jdbc
        ${cas.version}
    
    
        org.apereo.cas
        cas-server-support-jdbc-drivers
        ${cas.version}
    
    
        mysql
        mysql-connector-java
        ${mysql.driver.version}
    
     

继续找到下图这一段

CAS5.3单点登录(二)连接mysql数据库_第3张图片

中加入下面这一行

5.1.46

代表mysql-connector-java的版本(建议设置时在https://mvnrepository.com/artifact/mysql/mysql-connector-java查看一下可用的版本,如果设置了这里查不到的版本会导致打包失败,其他jar包也可以在这个网站搜索版本和下载)。

(三)编译cas.war包

加完后保存,然后在cas-overlay-template-master文件夹中输入以下命令打包

root@ubuntu:/usr/local/cas-overlay-template-master# mvn install

如果没有意外会显示打包成功,但是人生总是充满了意外,尤其是在中国这个墙内,maven的镜像仓库统统连不上,连据说很好用的阿里云也不行,后来尝试用nexus搭建maven的本地库,自己上传jar包,但是工序繁琐最后也没成功。最后没办法在一台可以连外网的Windows上布置了maven进行打包,3分钟搞定,由此可见有一台可以上外网的机器是多么的重要!

Windows上打包成功如下图所示

CAS5.3单点登录(二)连接mysql数据库_第4张图片

然后把新生成的target传到ubuntu的cas-overlay-template-master文件夹下,并把target的cas.war放在/usr/local/apache-tomcat-8.5.31/webapps中,之后会自动生成cas文件夹。

(四)配置mysql数据库连接

首先需要在数据库中创建表和帐号数据

我的数据库名是sso,表名是cas,下图是cas表中的数据


打开配置文件application.properties:

vi /usr/local/apache-tomcat-8.5.31/webapps/cas/WEB-INF/classes/application.properties

将最后一行cas.authn.accept.users=casuser::Mellon加井号注释掉,再加入以下内容

cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/sso?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false        
cas.authn.jdbc.query[0].user=root                                                          //此处填mysql数据库用户名
cas.authn.jdbc.query[0].password=123456                                                     //此处填mysql数据库密码
cas.authn.jdbc.query[0].sql=select * from cas where username=?                             //表名和用户名标签
cas.authn.jdbc.query[0].fieldPassword=password                                          //密码标签
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver

保存后退出,重启tomcat,访问https://localhost:8443/cas/login,测试了数据库中设定的两条用户名密码,均可登录


你可能感兴趣的:(linux,ubuntu,cas,数据库)