3、cas_http_https_用户名或者邮箱修改密码

前言,准备

cas自定义通过邮箱修改密码,这里的验证,点击邮箱链接之后还会输入密保问题。本文章有http和https两种验证邮箱。不必着急往后看。证书无非是SSL设置为true或者false;

1、在sso-server的resource下放入创建好的证书

WX20180312-122829

2、cas这里的邮箱验证,数据表创建

这里的cas邮箱验证,是通过给用户发邮件,然后用户跳转到服务端,通过密保问题进行修改的。所以需要创建密保问题。这里是我测试的是通过用户名查找邮箱修改密码的。一会我们再测试一遍通过邮箱登录。修改密码

这里还有添加多个密保问题的,一会我们在通过截图观察

use casnew;
/*
密码重置问题表
*/
CREATE TABLE SYS_USER_QUESTION (
  USERNAME VARCHAR(30) NOT NULL,
  QUESTION VARCHAR(200) NOT NULL,
  ANSWER     VARCHAR(100) NOT NULL
);

---问题数据
INSERT INTO SYS_USER_QUESTION VALUES ('admin', '你的年龄是?',  '24');
INSERT INTO SYS_USER_QUESTION VALUES ('HealerJean', '我的名字是?',  'HealerJean');
INSERT INTO SYS_USER_QUESTION VALUES ('zhangsan', '我在哪里工作?',  'guangzhou');


3、sso-server开始配置邮箱登录

1、首先我们需要一个邮箱,并且开启smpt验证。这里我用了QQ邮箱,有需要的朋友们自己弄哦,因为需要密码所以我就测试完本例就会关闭


2、开启证书验证

## ssl证书
server.ssl.enabled=true
server.ssl.key-store=classpath:tomcat.keystore
server.ssl.key-store-password=123456
server.ssl.keyAlias=passport.sso.com

**证书验证开启之后,下面的这个红色将会消失。

WX20180312-153905@2x

3、数据库验证和配置mail以及邮箱问题查询,我采用的是MD5写死直接验证

关键点:

#允许内置密码管理,配置了true,点击页面的重置密码才会有反应,跳转。也就是才有这个功能
cas.authn.pm.enabled=true

#新密码必须匹配表达式
cas.authn.pm.policyPattern=\\d{3,10}

具体配置:


#  7.1、MD5 密码直接校验,用于邮箱修改密码

#Query Database Authentication 数据库查询校验用户名开始
#查询账号密码sql,必须包含密码字段,
# 这里可以使用用户名或者邮箱来进行验证,根据数据字段如果是用户名则为username 邮箱则为email
cas.authn.jdbc.query[0].sql=select * from sys_user where username=?
#指定上面的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.MySQL5Dialect
#数据库驱动
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
#数据库连接
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/casnew?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=true
#数据库用户名
cas.authn.jdbc.query[0].user=root
#数据库密码
cas.authn.jdbc.query[0].password=123456
#默认加密策略,通过encodingAlgorithm来指定算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值