
本文共 3469 字,大约阅读时间需要 11 分钟。
������
���������WEB���������������������������������������������������������������������session������������������������������������������������������������������������ID���������������������������������������������������������������Nginx������������������������������������������������������������������������������session���������������������������������
������������������������������������Redis������JWT������������������������
Redis������JWT
Json Web Token������������������cookie���������������������������������������JWT���������������������������������
private static String getToken(String account) { Date now = new Date(); String key = "cbry_blog"; JWTCreator.Builder builder = JWT.create(); return JWT.create() .withIssuer("cbry") .withIssuedAt(now) .withExpiresAt(new Date(now.getTime() + 60*60*1000)) .withClaim("account", account) .sign(Algorithm.HMAC256(key));} private static String decodeToken(String token) {DecodedJWT decodedJWT = JWT.decode(token);if (new Date().getTime() > decodedJWT.getExpiresAt().getTime()) {return "token������������";} else {return "token������������account���" + decodedJWT.getClaim("account").asString();}} public static void main(String[] args) {String token = getToken("cbry101");System.out.println(token);Jedis jedis = JedisPoolDemo.initJedisPool().getResource();jedis.setex("jwt", 3600, token);System.err.println("���������redis���������token���������" + decodeToken(jedis.get("jwt")));}
cookie
���Spring������������������request���response������������������������������������cookie���
Redis������Session
���Spring������������session������������HttpServletRequest.getSession()������������������������������������session���������Redis���������������������������������������
@RequestMapping("/filter")public String toIndex() { System.err.println("������controller"); return "index";} @RequestMapping("/sessionTest")public void sessionTest(HttpServletRequest request, HttpServletResponse response) {HttpSession session = request.getSession();System.err.println("���������sessionId������" + session.getId());Jedis jedis = JedisPoolDemo.initJedisPool().getResource();jedis.hset("session","sessionId", session.getId());jedis.hset("session","userName", "cbry");jedis.expire("session", 600);} @RequestMapping("/isLogin")public void isLoginTest(HttpServletRequest request, HttpServletResponse response) {HttpSession session = request.getSession();Jedis jedis = JedisPoolDemo.initJedisPool().getResource();String sessionIdFromRedis = jedis.hget("session", "sessionId");String userName = jedis.hget("session", "userName");if (session.getId().equals(sessionIdFromRedis)) {System.out.println("������������������������������" + userName);} else {System.err.println("error������������������������������");}}
������
���������������������������������session������������������������������������������������������������������������sessionId���������������Redis������������������������������������
���������������������������
���������������������������������������������session���������������������������������������Redis������������������������������������������������������
������
������������������������������������������������������������������������������������������������������������������seudostored sessions������������������������������������������������Redis���exist������������sessionId������������������
发表评论
最新留言
关于作者
