CAS - 自定义登录页面和数据源

配置数据源

1、打开cas\WEB-INF\classes目录的application.properties

①注释掉默认的静态账号密码登录配置

# cas.authn.accept.users=casuser::Mellon

②配置MySQL连接,我这里使用的是MySQL8.0(如果是8.0,需要在部署CAS时打入8.0的Jar包)

# 连接的阿里云服务器上的MySQL
cas.authn.jdbc.query[0].url=jdbc:mysql://10.30.35.88:3306/testcas?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
# 数据库账号 - root,远程连接需要修改MySQL访问权限
cas.authn.jdbc.query[0].user=user1
# 数据库密码
cas.authn.jdbc.query[0].password=123456
# 查询账号密码进行验证的语句 - tb_user表中的username字段
cas.authn.jdbc.query[0].sql=select * from tb_user where username= ?
# MySQL8.0的驱动语句
cas.authn.jdbc.query[0].driverClass=com.mysql.cj.jdbc.Driver
# 匹配属性列 - 密码
cas.authn.jdbc.query[0].fieldPassword=password
# 字段无过期
cas.authn.jdbc.query[0].fieldExpired=expired

③配置加密算法,不配置则不加密

CAS5.X提供了4种加密配置

cas.authn.jdbc.query[0].passwordEncoder.type= NONE|DEFAULT|STANDARD|BCRYPT

默认值是NONE, 这四种方式其实脱胎于spring security中的加密方式,spring security提供了 MD5PasswordEncoder、SHAPasswordEncoder、StandardPasswordEncoder和 BCryptPasswordEncoder。

BCRYPT:启用BCryptPasswordEncoder加密方式。

配置BCrypt加密 - 即SpringSecurity推荐的那个算法:

# BCRYPT 加密
cas.authn.jdbc.query[0].passwordEncoder.type=BCRYPT
# 指定编码为UTF-8
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8

NONE:说明对密码不做任何加密,也就是保留明文。

DEFAULT:启用DefaultPasswordEncoder。  MD5PasswordEncoder和 SHAPasswordEncoder加密是编码算法加密。现在cas把他们归属于 DefaultPasswordEncoder。DefaultPasswordEncoder需要带参数 encodingAlgorithm:

# 指定加密类型
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
# 加密 - MD5 或是 SHA
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5

STANDARD:启用StandardPasswordEncoder加密方式  。1024次迭代的 SHA‐256 散列 哈希加密实现,并使用一个随机8字节的salt。 

④重启Tomcat

如何修改MySQL远程访问权限?

方案一:

1.进入mysql,即输入命令mysql -u root -p 密码

2.使用mysql,即输入命令use mysql;

3.修改字段user为root一列的的host字段为%,update user set host = '%' where user = 'root';

4.刷新MySQL的系统权限相关表,即输入命令flush privileges;

方案二 - 直接创建一个用户:

1、create user user1 identified with mysql_native_password by '1234';

2、grant all on *.* to 'user1'@'%';

3、FLUSH PRIVILEGES;

自定义登录页面

1、在service/HTTPSandIMAPS-10000001.json中添加主题名称,这里主题名为mypage

2、CSS/JS/图片等静态文件放在static文件夹内,CSS放在css文件夹,JS放在js文件夹,图片放在image文件夹

3、在classes目录下创建一个mypage.properties文件,该文件名与前面配置的主题名一致

4、登录的HTML页面需要放在templates文件夹内

5、在application.properties中添加主题

配置文件与HTML页面的那些事

在mypage.properties配置了css/js/图片,在html页面中怎么使用呢?

1、引入CSS,使用th:href引入,格式如下:

2、引入JS,使用th:src引入,格式如下:

3、引入图片,使用th:src引入,格式如下:

4、form表单 - 依照原版本修改的,详细修改请见百度

 其实,自定义页面可能有扫码登录、手机登录、记住账号密码、错误信息提示等等。但本文不做过多介绍,原因就是我也不知道怎么配置,待后面用到或是学到再来补充。

发布了100 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40885085/article/details/104382406
今日推荐