package com.ljm.boot.redissession.interceptor;
import com.ljm.boot.redissession.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@Component
public class RedisSessionInterceptor implements HandlerInterceptor {
@Autowired
private StringRedisTemplate redisTemplate;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("user") != null) {
try {
User user = (User) session.getAttribute("user");
//验证当前请求的session是否是已登录的session
String loginSessionId = redisTemplate.opsForValue().get("loginUser:" + user.getUsername());
if (loginSessionId != null && loginSessionId.equals(session.getId())) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
}
response401(response);
return false;
}
private void response401(HttpServletResponse response) {
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
response.getWriter().print("用户未登录或登陆超时!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
使用spring-session加redis来实现session共享.zip
共9个文件
java:5个
yml:1个
cmd:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 172 浏览量
2023-08-26
10:55:23
上传
评论
收藏 12KB ZIP 举报
温馨提示
基于springboot框架实现一些常用的功能
资源推荐
资源详情
资源评论
收起资源包目录
使用spring-session加redis来实现session共享.zip (9个子文件)
mvnw.cmd 6KB
pom.xml 2KB
src
main
resources
application.yml 503B
java
com
ljm
boot
redissession
controller
UserController.java 1KB
RedissessionApplication.java 342B
model
User.java 529B
config
RedisSessionConfig.java 1KB
interceptor
RedisSessionInterceptor.java 2KB
mvnw 10KB
共 9 条
- 1
资源评论
sjx_alo
- 粉丝: 1w+
- 资源: 1199
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功