ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot项目使用cas进行单点登录-服务器端实现

2020-02-20 16:56:24  阅读:221  来源: 互联网

标签:jdbc 服务器端 cas authn https query com springboot


说明 :

1:实现目标,多个springboot项目,使用cas 实现单点登录。

2:cas使用cas-overlay-template-5.3版本 springboot 2.0 tomcat9 jdk1.8 开发平台 idea

详细过程

1:下载 cas-overlay-template-5.3

下载地址:https://github.com/apereo/cas-overlay-template/tree/5.3

,然后解压到你想放的地址

 

 

2:导入idea中,什么都不用修改,打包,放入到本地tomcat下,启动tomcat ,就可以看到登录页面,默认账号只有一个

 

 

casuser:Mellon. 到这一步,算是和cas有个初步的印象。

进行一些修改,变成自己想要的模样

3:使用数据库用户

添加jdbc依赖,不要插错位置,在pom里有一段注释很清楚的写着:

<!--
                ...Additional dependencies may be placed here...
                -->

然后在这里插入三个依赖包:

 <!-- https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc -->
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-support-jdbc</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <!-- https://mvnrepository.com/artifact/org.apereo.cas/cas-server-support-jdbc-drivers
                 通过mvn命令添加的
                -->
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-support-jdbc-drivers</artifactId>
                    <version>${cas.version}</version>
                    <scope>runtime</scope>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.46</version>
                </dependency>

4:重新打包

就会发现,一直在downloading downloaded...慢,一直等到打包成功,因为默认的下载路径应该是国外服务器,所以特别的慢,于是改下maven setting里修改,配置到阿里云镜像,

 <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf>
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>

再重新打包,发现特别的快,而且下载了很多jar,但还是没有成功,报错此文件找不到,于是自己下载,手动加载到本地库(这个应该都很熟悉了吧,搜索一大把的有)

 

5:修改项目的application.properties 文件,注掉默认的用户,添加数据库配置,这样再使用tomcat访问,用户就是自己数据库里配置的了。

##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon

# add db infor
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost: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 user where username=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver

 6:继续修改,之前登录页面一直有 两个warning,一个是提示要使用https,一个是要使用数据库,数据库的我们已经实现了,现在修改https

要实现https,要有keystore,使用

keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass 123456 -storepass 123456 -keystore D:/angin.keystore -dname "CN=localhost,OU=angiiin.com,O=angiiiin,L=TianJin,ST=TianJin,C=CN"

生成后 配置tomcat  server.xml,同时把8080商品的http连接器注掉,这样再启动tomcat登录就可以使用https了。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="D:/angiiiin.keystore"
                         type="RSA" certificateKeystoreType="JKS" certificateKeystorePassword="123456"/>
        </SSLHostConfig>
 </Connector>

标签:jdbc,服务器端,cas,authn,https,query,com,springboot
来源: https://www.cnblogs.com/angin-iit/p/12336388.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有