上一篇文章写了使用spring security、oauth2、JWT 实现了最常用的帐号密码登陆功能,但是现在的对外的在线系统基本至少有2种登录方式,用的最多的就是短信验证码,此种方式的好处有很多,例如天然的可以知道用户的手机号_,下面我们就来利用自定义spring security的认证方式实现短信验证码登陆功能。功能逻辑1.用户通过手机获取短信验证码 2.用户填写验证码,提交登陆 3.系统判
效果图 后端 【springboot】1.1 导入maven坐标<!-- 验证码 依赖--> <dependency> <groupId>com.github.axet</groupId> <artifactId>kaptcha</artifactId>
转载 2024-07-03 12:09:13
79阅读
一、shiro简介1.1、什么是shiroApache Shiro 是一个Java 的安全(权限)框架。Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环 境。Shiro可以完成,认证,授权,加密,会话管理,Web集成,缓存等。1.2、有哪些功能Authentication:身份认证、登录验证用户是不是拥有相应的身份;Authorization
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言一、SpringBoot依赖1、pom.xml文件 2、Applications.yaml 二、数据库文件三、实现注册功能四、找回密码功能 五、登录功能总结前言提示:这里可以添加本文要记录的大概内容:最近Springboot课程要求以疫情为主题的登录、注册、找回密码功能,可以自行添加一些额外的功能
序言实现“记住我” 功能 ,在用户登陆一次以后,系统会记住用户一段时间,在这段时间,用户不用反复登陆就可以使用我们的系统。代码请参考 https://github.com/AutismSuperman/springsecurity-example先说一下使用改动拿之前第的入门程序举例子改一些login.html<!DOCTYPE html> <html> <head&
前言在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:1、数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据。2、token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的hea
转载 2024-04-17 15:09:05
100阅读
第一章 简介1、概念Spring家族当中,一个安全管理框架。Shiro也是一个安全框架,提供了很多安全功能。Shiro比较老,旧的项目当中,可能还在使用。上手还挺简单。在新项目当中,一线互联网大型项目,都是使用SpringSecurity 。2、认证 鉴权一般的web项目当中,总会有登陆和鉴权的需求。但是大家一定要区分开。认证:验证当前访问的用户是不是本系统中的用户。确定是哪一个具体的用户。鉴权:
spring boot集成mybatis generator遇到的问题我在使用mybatis generator生成代码的时候,遇到一个问题:生成的xml文件中,有很多的重复代码。比如resultMap。是因为我在测试使用的表在其他的库中也存在(MySQL多个数据库有同一样的表)。 在网上找了很久,找到一个方法是在generatorConfig.xml的table标签中添加 catalog=“bl
转载 2024-10-30 10:26:35
21阅读
springboot整合shiro后。当同一个用户重复登录时,默认会两个都登录成功,两个session。目标是:当第二次登录时,把第一个session剔除。不允许重复登录小知识:同一个浏览器,用两个标签页分别登录,是同一个session。两个浏览器登录,是两个session。ShiroConfiguration.javapackage com.zfzn.hospital_backend.appli
转载 2024-04-12 12:25:07
65阅读
文章目录 为什么需要限制用户的登录 pom.xml Redis配置 RedisConfig配置类 mysql配置类 配置文件application.yml UserContorller UserServiceImpl mapper RedisUtil 效果 为什么需要限制用户的登录 限制登陆其实就是在用户输入密码错误达
转载 2024-04-07 00:02:03
371阅读
文章目录一: Spring Boot 引入Security 的 pom依赖1.1: 首先引入pom jar 包1.2: 配置 WebSecurityConfig@EnableWebSecurity 作用 :在这个配置类中,我们主要做了以下几个配置:二: 账号权限登录流程账号登录认证流程过滤器 JwtLoginFilter三: 手机号权限登录流程手机号登录认证流程过滤器 SmsCodeLoginF
转载 2023-12-15 12:53:30
28阅读
Spring Security OAuth2.0认证授权介绍基本概念 基本概念1.什么是认证?认证:用户认证就是判断一个用户的身份是否合法的过程,用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户密码登录,二维码登录,手机短信登录,指纹认证方式。 2.什么是会话? 用户认证通过后,为了避免用户的每次操作都进行认证可将用户的信息保
转载 2024-09-10 11:09:46
68阅读
Shiro地址:https://shiro.apache.org/ 简介使用Springboot框架整合Shiro实现对用户的登录拦截、用户认证、请求授权等。搭建项目:创建Springboot工程,添加依赖以及简单的前端页面。基本配置:配置控制器实现路由,UserRealm继承AuthorizingRealm重写认证和授权方法(先写一个框架,后面完善),配置类ShiroConfig对shiro进行
转载 2024-04-25 13:48:30
66阅读
集成SpringSecurity学无止境 安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较
转载 2024-06-25 09:09:48
36阅读
spring security 默认登录方式都是用户名+密码登录,项目中使用手机+ 短信验证登录, 没办法,只能实现修改:需要修改的地方:1 、自定义 AuthenticationProvider package com.ycmedia.security; import java.util.ArrayList; import java.util.Collection; impor
转载 2024-04-08 00:30:18
85阅读
文章目录一、前言二、无持久化方式1、代码2、细节(1)相关配置(2)cookie内容解析(3)自动登录过程3、补充 一、前言        本篇文章来看下利用Spring Security实现自动登录功能,并且简单了解其内部细节。        &
一、登录网址跳转到滑块验证码界面登录网址:url=https://account.zbj.com/login先拿到这个标签,在跳转到滑块验证码界面。from selenium import webdriver driver=webdriver.Chrome() driver.implicitly_wait(10) #登录网址 driver.get('https://account.zbj.co
springboot+vue实现手机验证码功能榛子云短信平台用户中心注册登录(有免费的一条消息,剩下的需要买)(阿里云个人得备案)在springboot中加入依赖,用到了redis,阿里的fastjson,和短信的平台<!--集成redis--> <dependency> <groupId>org.springframework.boot</gr
在很多网站上都提供了短信验证登录的功能,其思路大概是这样的:前台点击发送验证码(会携带手机号)调用后台接口生成验证码(3分钟有效),并将验证码存入缓存当中(这里用的是redis)根据前台传送的手机号发送验证码用户收到验证码之后填写验证码并登陆后台收到登陆请求,先校验校正码是否有效并且正确验证码校验通过之后有两种情况: 查询数据库,用户存在,则登录成功用户不存在,跳转到注册页面流程如下:一、
转载 2024-03-15 15:56:53
406阅读
随着技术的不断发展,传统的账号、密码登录的方式正在被QQ、微信等第三方登录和手机短信验证登录取代,本篇文章详细记录手机短信快速的开发的心得。一、设计思路 1.首先,需要用户的手机号,当用户输入手机号进行获取验证码时,要对手机号做一个参数校验,然后根据手机号查询数据库中的用户表,判断用户是不是存在,对于不存在的用户手机号,以异常的方式抛出提示信息。 2.当数据库中的信息匹配成功匹配时,来实现发送验证
转载 2024-03-18 14:59:03
273阅读
  • 1
  • 2
  • 3
  • 4
  • 5