关于本文其实用户登录拦截的这块不想这么早写,加个登录后面好多东西就要考虑登录状态了,我其实想把这个系列写成非必要关系,解耦性比较强的系列。但是,写完redis,总是感觉登录是对它最简单的实践,那就加上吧,反正后面很多文章也会用到,但大多文章我仍会不考虑登录状态。这里只是讲明白登录机制,如何实现。实际使用中会考虑很多别的,例如用户权限,登录机制限制等等~这里就先不做过多的叙述。这里只讲技术和实现,不
转载
2024-02-26 16:01:14
137阅读
Spring SecuritySpring Security 是基于Spring 应用程序提供的声明式安全保护的安全框架。Spring Sercurity 提供了完整的安全性解决方案,它能够在Web请求级别和方法调用级别处理身份认证和授权,因为是基于Spring,所以Spring Security充分利用了依赖注入(Dependency injection DI) 和面向切面的技术。Spring
转载
2024-04-18 13:33:31
40阅读
springboot-shiro-jwt-redis实现用户登录的认证与授权(前后端分离)shiro-jwt-redis实现用户认证、授权大致流程认证时进行缓存获取数据,否则进入认证方法(可以自己debug弄清流程更好) 相关依赖:主要依赖: <dependency><!--包括shiro以及shiro-redis依赖-->
<groupId>
转载
2024-06-24 10:01:11
166阅读
学习在 Spring Boot 中整合 Spring Security 和 JWT ,实现无状态登录,可做为前后端分离时的解决方案,技术上没问题,但实际上还是推荐使用 OAuth2 中的 password 模式。1 登录概述1.1 有状态登录有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,如 Tomcat 中的 Session 。例如:用户登录后,
转载
2024-04-12 14:58:29
935阅读
不得不说,Session相对保存一些数据比cookie安全,但是一般都用于保存验证码,session通俗的讲就是 会话,数据都是保存在后端的,所以安全@GetMapping("/setSessoin")
public void setSessoin(HttpServletRequest request){
HttpSession session = request.getSession()
转载
2024-03-20 20:28:29
256阅读
说明 : 简单说下我写这篇文章的来由吧,最近准备新开一个项目前后端分离的,后端通过springboot实现,前段就不说了,那么就会考虑到用户登录成功以后登录信息保存在什么地方,是通过前后端一直传递参数么,那就蛋疼了。通过session存储信息。。那不是要每次都要在视图层获取session在一层一层的传递下去。。想了想通过ThreadLocal来存储用户信息吧,这样就可以直接在dao层调用了。说干就
转载
2024-03-21 19:35:16
57阅读
SpringBoot+JWT实现登录状态管理
介绍
本文实现登录状态管理采用如下技术,全局异常中心、全局获得用户信息、自定义返回类。 项目地址:https://gitee.com/jiang_ming_hong/spring-boot–jwt.git
实现过程
1.需要使用的依赖包
<!--web-->
转载
2024-03-18 00:03:48
143阅读
前言: 保存用户状态的信息技术除了上一篇博文中讲到Cookie技术,还有两种技术就是隐藏表单域和查询字符串的方式,这两种技术其实在原来的学习我们都用过了解,但是不是很系统,所以将他们三者放在一起可以印象更加深刻。 内容: 一:相关介绍 1.隐藏表单域就是在html中添加一个隐藏域(在网页显示的时候不可见)用这个隐藏域的value属性来保存数据。 首先应该在html网页上添加:<form
转载
2024-02-02 19:10:41
63阅读
SpringBoot+SpringMvc+Mybatis+通用mapper实现用户的增删改查创建用户表新增用户数据Navicat显示结果在IDEA中创建SpringBoot项目在pom.xml中引入jar包坐标application.yaml介绍及配置创建用户实体类创建UserMapper创建UserService接口创建UserService实现类创建Controller修改SpringBoo
转载
2024-04-01 11:15:49
168阅读
1.用户信息页面跳转及信息展示用户模块不只有登录、注册功能,还包括用户信息展示、头像上传、用户信息修改、安全退出等功能。用户信息功能的主要实现步骤为三步:用户信息页面跳转请求实现用户信息页面样式设置用户信息页面信息展示1.1 Controller 处理跳转请求在 BBSUserController.java 控制器中新增用户信息跳转处理功能。该方法用于处理 /userSet 请求,即用户信息页面的
转载
2024-04-12 06:21:16
81阅读
1 Cookie + Session由于 HTTP 协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客户端和服务端之间会话的连续性,常见的,就是使用Cookie + Session (会话) 的方式。具体来说,当客户端请求服务端的时候,服务端会为此次请求开辟一块内存空间(Session 对象),服务端可以在此存储客户端在该会话期间的一些操作记录(比
原创
2024-09-12 16:57:03
373阅读
1.相关依赖包<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.spring.vers
转载
2024-09-27 14:12:59
67阅读
我的全栈之路-Java基础之数据存储 我的全栈之路
2.1 标识符标识符是在程序开发时给包,类、接口、注解,变量,方法命名的字符序列。 标识符在命名时需要遵守相关的规则和规范:标识符的命名规则:标识符不能是Java的关键字和保留字,关键字是Java中被赋予赋予特殊含义的单词,例如public static void等等。保留字是现有Java版
0.前言这里省略介绍redis的基本概念,和使用redis储存用户登录信息的好处。
原料:已经引入redis的java项目,(框架无所谓,我这里是springboot)1.几个初始的步骤1.1 确定好前台传输的,请求头上的登录标识
这里我使用的是“sessionId”
1.2 定义储存用户信息的类,方便redis做存储@Data
public class SessionUser implement
转载
2023-07-07 15:14:16
843阅读
return Result.ok();}* 登录@Override
public Result login(LoginFormDTO loginForm, HttpSession session) {
// 1.验证手机号是否正确
String code = loginForm.getCode();
String phone = loginForm.getPhone();
if(Rege
转载
2024-06-08 19:47:19
82阅读
数据库中定义用户前面我们定义用户是在配置文件和代码中定义死的默认用户,一般在开发中是不会这样做的,我们的用户都是来自我们的用户表,存储在数据库中。操作数据库的技术有很多,spring security默认支持了一个JDBC的方式,下面用这个方式来从数据库中查询用户。首先定义用户表users:enabled字段表示是否启用,改为0表示不允许此用户登录。在表里面添加两个用户 :注意密码前面都加了{no
转载
2024-03-31 22:20:29
59阅读
前面我们使用了jwt的token来进行登录,但是只说明了它的好处,那么我们来讲一讲他不好的地方:消息体可以被base64解密为明文、不适合存放大量信息、无法作废未过期的token。显然我们准备要存储的东西非常多,用户信息+权限信息。所以我们考虑换redis来进行存储,抛弃jwt。集成<!-- redis连接 -->
<dependency>
<groupId&g
转载
2023-08-22 08:40:47
150阅读
一.实战之前,先介绍一个概念bitmap这个bitmap有啥用?看这副图片,假如更精简的话,只有2个颜色,黄色和透明,1代表黄色,0代表没有颜色,是不是,只要你找到哪个点,看一下是1还是0就知道颜色了呢二.bitmap在统计中的应用下面,我将讲解如何用bitmap原理来存储日活数据思路:把每一天,当做一个图,谁访问了,就在哪个点上,设置1记录日活需求:记录每天,某个userid 为 2
转载
2024-06-27 11:08:41
54阅读
SharedPreference存储android提供的,用来以最简单的方式对数据进行永久性保存的方法public class MainActivity extends Activity {
private String mr = "mr", mrsoft = "mrsoft"; //定义后台用户名与密码
private String username, password;
转载
2023-12-15 09:57:30
80阅读
对于Android应用程序,存储用户登录信息的最佳方式是使用Shared Preferences。Shared Preferences是Android提供的一个轻量级存储机制,可以存储简单的键值对数据。它非常适合存储用户设置、用户偏好和其他应用程序数据,包括登录信息。Shared Preferences具有以下优点:轻量级:Shared Preferences非常轻量级,不会占用太多的内存或存储空
转载
2023-06-28 15:04:32
130阅读