SpringBoot 搭建CAS服务端5.3

参考https://blog.csdn.net/zhouzhiwengang/article/details/89874553

      https://www.jianshu.com/p/1e46435ffafa

Github 下载CAS5.3 服务端版本:https://github.com/apereo/cas-overlay-template/tree/5.3

1、解压下载的cas5.3.zip文件包,切换至cas5.3解压文件目录,执行maven 打包命令:mvn package

2、执行完打包命令,会在cas5.3解压文件夹下生成一个target文件夹,包含cas.war包

3、使用IDEA工具打开项目,并创建src/main/java目录和src/main/resources目录

4、将D:\workspace\cas-overlay-template-5.3\target\war\work\org.apereo.cas\cas-server-webapp-tomcat\WEB-INF\classes目录下的application.properties文件,及 services文件夹 拷贝一份到src/main/resources目录下。

SpringBoot 搭建CAS服务端5.3_第1张图片

5、修改src/main/resources/services目录下的 HTTPSandIMAPS-10000001.json文件,让其支持http协议。

并在application.properties配置文件中增加配置,注释server.ssl相关配置

SpringBoot 搭建CAS服务端5.3_第2张图片

#server.ssl.key-store=file:/etc/cas/thekeystore
#server.ssl.key-store-password=changeit
#server.ssl.key-password=changeit

cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

6、在pom.xml文件中增加依赖



    4.0.0
    org.apereo.cas
    cas-overlay
    war
    1.0

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

    
        
            
                com.rimerosolutions.maven.plugins
                wrapper-maven-plugin
                0.0.5
                
                    true
                    MD5
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                ${springboot.version}
                
                    ${mainClassName}
                    true
                    ${isExecutable}
                    WAR
                
                
                    
                        
                            repackage
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-war-plugin
                2.6
                
                    cas
                    false
                    false
                    
                        false
                        ${manifestFileToUse}
                    
                    
                        
                            org.apereo.cas
                            cas-server-webapp${app.server}
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.3
            
        
        cas
    

    
        5.3.14
        1.5.18.RELEASE
        
        -tomcat

        org.springframework.boot.loader.WarLauncher
        false
        ${project.build.directory}/war/work/org.apereo.cas/cas-server-webapp${app.server}/META-INF/MANIFEST.MF

        1.8
        1.8
        UTF-8
    


    
        
            
                true
            
            default
            
                
                    org.apereo.cas
                    cas-server-webapp${app.server}
                    ${cas.version}
                    war
                    runtime
                
                
            
        
    

7、在applictation.properties文件中 添加数据库连接配置

##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon
#jdbc验证配置
#Query Database Authentication 数据库查询校验用户名开始
#查询账号密码sql,必须包含密码字段
cas.authn.jdbc.query[0].sql=select * from t_sys_user where username=? and user_status=01
#指定上面的sql查询字段名(必须)
cas.authn.jdbc.query[0].fieldPassword=password
#指定过期字段,1为过期,若过期需要修改密码
#cas.authn.jdbc.query[0].fieldExpired=expired
#为不可用字段段,1为不可用,
#cas.authn.jdbc.query[0].fieldDisabled=disabled
#数据库方言hibernate的知识
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
#数据库驱动
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
#数据库连接
cas.authn.jdbc.query[0].url=jdbc:mysql://192.168.30.131:3306/WPK?useUnicode=true&characterEncoding=UTF-8
#数据库用户名
cas.authn.jdbc.query[0].user=root
#数据库密码
cas.authn.jdbc.query[0].password=123456
#默认加密策略,通过encodingAlgorithm来指定算法,默认NONE不加密
cas.authn.jdbc.query[0].passwordEncoder.type=com.sso.config.MyPasswordEncoder
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
#cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
#Query Database Authentication 数据库查询校验用户名结束
#jdbc验证配置

 cas.authn.jdbc.query[0].passwordEncoder.type 其中加密规则可自行定义。

package com.sso.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Administrator
 * Date: 2020-06-05
 * Time: 22:05
 */

@Configuration
public class MyPasswordEncoder implements PasswordEncoder {
    @Override
    public String encode(CharSequence charSequence) {
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        return passwordEncoder.encode(charSequence);
    }

    @Override
    public boolean matches(CharSequence charSequence, String s) {
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        return passwordEncoder.matches(charSequence,s);
    }
}

8、在cmd命令行中执行build.cmd run

SpringBoot 搭建CAS服务端5.3_第3张图片

9、验证是否可以登录成功

SpringBoot 搭建CAS服务端5.3_第4张图片

SpringBoot 搭建CAS服务端5.3_第5张图片

 

你可能感兴趣的:(cas)