基于 redis 的单点登录原理

本文介绍了单点登录的原理,通过在根域名下设置携带sessionid的cookie,利用Redis存储session信息。当用户访问子域名时,通过cookie检索Redis中的用户信息,实现跨域身份验证。
摘要由CSDN通过智能技术生成

原理:就是在一个网站的根地址里添加一个cookie,cookie的value就是用户登录的sessionid,将这个sessioid作为redis的key,用户的信息作为value,存储在redis里,这样该网站所有的子域名都可以获取到这个cookie,然后根据cookie里的sessionid去redis里读取用户的信息。

    @RequestMapping(value = "login.do",method = RequestMethod.POST)
    @ResponseBody
    public ServerResponse<User> login(String username, String password, HttpSession session, HttpServletResponse httpServletResponse){
   
        ServerResponse<User> response = iUserService.login(username,password);
        if(response.isSuccess()){
   
            CookieUtil.writeLoginToken(httpServletResponse,session.getId());
            RedisShardedPoolUtil.setEx(session.getId(), JsonUtil.obj2String(response.getData()),Const.RedisCacheExtime.REDIS_SESSION_EXTIME);

        }
        return response;
    }

                
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值