一、在framework模块下security包下新建config包,在包里新建CustomLoginAuthenticationProvider.java类 继承DaoAuthenticationProvider类重写additionalAuthenticationChecks 方法

public class CustomLoginAuthenticationProvider extends DaoAuthenticationProvider {public CustomLoginAuthenticationProvider(UserDetailsService userDetailsService) {super();setUserDetailsService(userDetailsService);}protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException {if (authentication.getCredentials() == null) {this.logger.debug("Authentication failed: no credentials provided");throw new BadCredentialsException(this.messages.getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"));} else {String presentedPassword = authentication.getCredentials().toString();if(Constants.CUSTOM_LOGIN_SMS.equals(presentedPassword)){//免密登录,不验证密码(还可以继续扩展,只要传进来的password标识即可)}else{BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();if (!passwordEncoder.matches(presentedPassword, userDetails.getPassword())) {this.logger.debug("Authentication failed: password does not match stored value");throw new BadCredentialsException(this.messages.getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"));}}}}
}

二、在SecurityConfig.java包里 修改身份认证方式

    /*** 身份认证接口*/@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {auth.authenticationProvider(new CustomLoginAuthenticationProvider(userDetailsService));auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());}

三、SysPasswordService.java类下的 matches 方法 新增跳过验证方法 Constants.CUSTOM_LOGIN_SMS 同第二步一样 随意定义即可

public boolean matches(WebsiteUser user, String rawPassword){if (rawPassword.equals(Constants.CUSTOM_LOGIN_SMS)){return true;}return SecurityUtils.matchesPassword(rawPassword, user.getPassword());}

然后使用原本的登录 密码用Constants.CUSTOM_LOGIN_SMS 即可登录

若依框架免密登录(仅做参考)相关推荐

  1. Win10环境下配置VScode远程开发ssh-remote(免密登录)

    问题背景: 在开发或者做实验的过程中,我们经常会用到远程服务器或者Github的项目,而我服务器上的项目只能在Jupyter Notebook上编写(或许可以在其他IDE上写,但我不知道).而我们喜欢 ...

  2. flask框架如何实现修改密码和免密登录功能

    flask是python web开发的常用框架之一.本文将讲述flask如何实现修改密码和免密登录功能 修改密码功能 数据库部分: #重置密码 def reset_pass(phone,passwor ...

  3. CentOS7做ssh免密登录

    (1)实验环境 两台CentOS7: youxi1 192.168.1.6 youxi2 192.168.1.7 这里我将防火墙关闭进行实验,如果防火墙开启,请将端口加入到防火墙规则中. (2).目标 ...

  4. SSH详解以及免密登录配置,深入理解

    前面是理论基础,后部分是免密搭建详细步骤. Secure Shell Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,目的是在不安全的网络中为网络服务提供安全的传输环境. ...

  5. APP新用户注册、手机号绑定、用户登录验证新方式——一键登录(免密登录)验证方式新趋势

    传统的手机APP应用注册通常需要用户输入用户名,填写用户密码,同时通过获取验证码绑定手机号.用户一旦注册后再次登录传统的方式都是提供用户名加密码,或者凭手机验证码登录.当然现在许多APP为了获取更多的 ...

  6. Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块

    这是一篇系列博文,我将使用Abp.Zero搭建一套集成手机号免密登录验证与号码绑定功能的用户系统: Abp.Zero 手机号免密登录验证与号码绑定功能的实现(一):验证码模块 Abp.Zero 手机号 ...

  7. 万字详解SSH(SSH登录原理+SSH配置+模拟实现SSH免密登录)

    文章目录 一.SSH概述 1. 加密算法 1)对称加密算法(DES) 2)非对称加密(RSA) 3) 对称加密与非对称加密区别 4)中间人攻击 2. 环境准备 3. SSH基于用户名密码的认证原理 4 ...

  8. 【转】使用ssh-copy-id 快速的配置免密登录

    1.在需要免密登录其他机器的主机上 生成公钥,私钥等. ssh-keygen -t rsa 回车回车回车 哪个用户登录就在哪个用户目录的.ssh目录下生成. 2.将以下命令做成脚本,因为环境不能下载, ...

  9. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

最新文章

  1. 做了6年的Java,java视频教程传智播客
  2. 漫画:什么是狭义相对论?
  3. Gradle善良:仅添加包装用于战争
  4. hadoop 入门实例【转】
  5. Docker : Docker使用DockerFile入门案例
  6. Ubuntu-18.04.1安装QQ
  7. fedora下编译运行java傻瓜入门级教程
  8. linux开机密码取消,如何取消电脑开机密码
  9. 实数系统的构造与发展历程
  10. ES6 模板字符串方法
  11. A novel hybrid intrusion detection method integrating anomalydetection with misuse detection
  12. mini-itx PC:推测Intel D525MW支持UEFI
  13. 微服务项目:尚融宝(42)(核心业务流程:借款额度审批(2))
  14. 2021-11-15
  15. 奥升德赢得三星SDI锂离子电池添加剂专利案;蜂巢能源完成102.8亿元人民币B轮融资;伊顿、特灵科技、芬美意发布财报 | 能动...
  16. docker 安装redmine
  17. DIV+CSS布局基本流程及实例介绍
  18. ip地址的作用及分类
  19. linux aux是什么命令,Linux命令ps aux详细解释
  20. 云桌面教学可以给学校老师和学生带来那些改变

热门文章

  1. 计算机二级在线找答案,2016计算机二级试题及答案
  2. python数据类型——数字
  3. oracle bom递归查询,求多阶BOM查询代码
  4. 两性关系的50个经典客观规律
  5. 基于微信小程序+springboot的在线商城系统毕业设计源码
  6. 1202 -- 童年生活二三事
  7. 多多自走棋改动_多多自走棋:几个隐藏更新,体验服公告真没提,有一项熟悉又隐蔽...
  8. 人类社会货币的演变与区块链的价值
  9. 圆的周长,面积,球的体积和表面积
  10. 二、MySQL操作数据库