cas-server服务端搭建

1、下载cas服务代码,https://github.com/apereo/cas-overlay-template/tree/5.3

2、使用idea工具打开cas-overlay-template-5.3包,使用maven工具加载pom里的jar包,此cas的jar包较大,大致需要等待两小时左右的下载依赖

3、使用maven打包工具,package命令生成运行包target,然后再项目中建立自己本地项目src/main/java和src/main/resources目录

4、将target包中/cas/WEB-INF/classes/services和application.properties和log4j2.xml和/cas/WEB-INF/classes/META-INF复制到resources目录,如图所示

5、将resources目录下的services中HTTPSandIMAPS-10000001.json内容修改如下,改为支持http访问

 6、使用maven,clear清除缓存文件,package重新打包,使用tomcat运行此项目

注意:此项目使用jdk8,tomcat使用8以上,如下

 

 6、项目启动成功之后,登录页面会自动打开浏览器,输入默认登录密码:casuser::Mellon

 

 登出:地址栏/logout

 至此,我们完成cas-server完成一半,以下继续操作

7、使用mysqlJDBC查询数据库登录,将application.properties文件中默认密码行注释

8、打开pom文件添加如下 依赖

<!-- 数据库 -->
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc</artifactId>
    <version>5.3.16</version>
</dependency>
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc-drivers</artifactId>
    <version>5.3.16</version>
</dependency>
<!-- MySQL JAR 包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>

8、向application.properties添加如下配置

# 注释静态验证的配置
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

#加密迭代次数
cas.authn.jdbc.encode[0].numberOfIterations=3
#该列名的值可替代上面的值,但对密码加密时必须取该值进行处理
cas.authn.jdbc.encode[0].numberOfIterationsFieldName=
#盐值固定列
cas.authn.jdbc.encode[0].saltFieldName=account
#静态盐值
cas.authn.jdbc.encode[0].staticSalt=.
cas.authn.jdbc.encode[0].sql=SELECT * FROM user WHERE account =?
#对处理盐值后的算法
cas.authn.jdbc.encode[0].algorithmName=MD5
cas.authn.jdbc.encode[0].passwordFieldName=password
cas.authn.jdbc.encode[0].expiredFieldName=expired
cas.authn.jdbc.encode[0].disabledFieldName=disabled
#数据库连接
cas.authn.jdbc.encode[0].url=jdbc:mysql://127.0.0.1:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&characterEncoding=UTF-8
#cas.authn.jdbc.encode[0].dialect=org.hibernate.dialect.MySQL5Dialect
cas.authn.jdbc.encode[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.encode[0].user=root
cas.authn.jdbc.encode[0].password=123456

对应java密码生成代码,第一个admin是要加密的密码,第二个.admin是加盐值“.”+登录名admin,3=循环加密三遍

public static void main(String[] args) {
        Md5Hash hash = new Md5Hash("admin",".admin",3);
        System.out.println(hash.toHex());//b79e485e2d0550edb064e9bb11a70964
    }
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(50) DEFAULT NULL COMMENT '姓名',
  `account` varchar(11) DEFAULT NULL COMMENT '账号',
  `password` varchar(50) DEFAULT NULL COMMENT '密码',
  `head_img` text COMMENT '头像',
  `salt` varchar(6) DEFAULT NULL COMMENT '加盐值',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `createor` int(11) DEFAULT NULL COMMENT '创建人id',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `updateor` int(11) DEFAULT NULL COMMENT '修改人id',
  `is_del` int(11) DEFAULT '0' COMMENT '是否删除;0=否,1=是',
  `system_id` varchar(200) DEFAULT NULL COMMENT '系统ID,标注该账号是哪个系统的账号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

至此。sso单点登录加盐完成,使用maven打包,再tomcat运行war包即可

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值