登陆时后端获取token的问题
客户端每次像服务器请求API接口时候,都要带上Token.
public class DemoInterceptor extends Interceptor {
@Override
public void intercept(Invocation inv) {
Ret ret = Ret.ok();
ret.set("state", "overdue");
ret.set(MESSAGE, "登录超时,Token过期");
BaseController controller = (BaseController) inv.getController();
String token = controller.getHeader("xx-token"); //获取请求发起时要携带xx-token这个参数 即后端生成的token
Member member = null;
try {
member = J2CacheUtil.getMemberCache(token); // 根据这个token从缓存中获得对应的value即用户
}catch (Exception e) {
/*由于出现老数据为Record的形式,需要catch转换异常*/
e.printStackTrace();
}
/*token有效期为1个月,cache缓存时间为2个小时,但cache中不存在的时候重新解析token去获取数据 token存储在ehcache中 */
if (member == null) {
String phone = SecurityUtil.decodeToken(token);