码迷,mamicode.com
首页 > 其他好文 > 详细

分布式Session

时间:2019-06-21 22:31:27      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:相关信息   exce   tis   根据   util   getname   ejs   try   通过   

方案一:采用redis集群

       架构:

        浏览器 ---> Nginx ---> 应用集群 ---> redis集群

        首次登录时,服务器端生成token,存入redis,并将token返回给客户端(浏览器), 然后浏览器每次访问服务器端时都会携带token, 应用服务器携带token会访问redis集群,如果根据token查到用户相关信息,则说明是已登录状态

 代码略

 

-----------------------------------------------------------------------------------------------------------------------------------------------

 

方案二:采用JWT

     架构

     浏览器 ---> Nginx ---> 应用集群 ---> JWT

        首次登录时,服务器端通过Jwt加密算法生成token,并返回给客户端(浏览器),然后浏览器每次访问服务器端时都会携带token,应用服务器会通过Jwt解密算法对token进行解密操作,如果解密成功获取到用户相关信息,则说明是已登录状


package net.jwt.utils;

import io.jsonwebtoken.*;
import net.jwt.domain.User;

import java.util.Date;

public class JwtUtil {

private static final String SUBJECT = "jiajing"; //发布者

private static final Long EXPIRE = 1000 * 60 * 60 * 24 * 7L;//一周后过期

private static final String APPSECRET = "jjjjj";//密钥
/**
* 生成jwt(加密)
* @return 返回token
*/
public static String createJsonWebJwt(User user) {

String token = Jwts.builder().setSubject(SUBJECT)
.claim("id", user.getId()) //
.claim("name", user.getName())
.claim("phone", user.getPhone())
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + EXPIRE))
.signWith(SignatureAlgorithm.HS256, APPSECRET)
.compact();
return token;
}


/**
* 校验token(解密)
* @param token
* @return
*/
public static Claims checkJwt(String token) {
try {
Claims claims = Jwts.parser().setSigningKey(APPSECRET)
.parseClaimsJws(token).getBody();
return claims;
} catch (Exception e) {
System.out.println("非法");
}
return null;
}

}

<!-- JWT相关 -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>

分布式Session

标签:相关信息   exce   tis   根据   util   getname   ejs   try   通过   

原文地址:https://www.cnblogs.com/yuefeng123/p/11066984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!