FWQ
Redis解决跨域存取Session问题
Redis解决跨域存取Session问题 0浏览 收藏 从现在开始,努力学习吧!本文《Redis解决跨域存取Session问题》主要讲解了存取、session、Redis跨域等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你! 这次的前后端分离这个问题就出现了,下面就来解决这个问题。 一、遇到的情况 在登录controller中的login方法里,登录成功后将值存到session中 request.getSession().setAttribute("administrator",admin.getId()); 但在页面中打开f12,点开应用会发现没有存储session的信息。 这就是跨域带来的问题,后端服务器是8081端口,存session就存不到前端8080端口的session中。 二、解决问题 既然已经知道了问题,在我发现这个问题时(因为我Debug调试跟踪后端代码后发现确实执行了存session的动作,所以才会知道是跨域导致的问题)。我一开始就上网找材料,查找解决办法。搜到的大部分都是在分布式的情况下共享session问题。不太符合解决我当前遇到的问题。 查了一段时间资料后,我想到了Redis,想到了:存session、取session的过程,那能用session去存取数值,为什么不用Redis呢?这让我“如鱼得水“,在学习完Redis后还没想到Redis可以用来代替session干活,哈哈。所以我将用Redis解决问题的步骤代码分享给大家,学过Redis的应该是属于简单易懂的。 2.1 配置yml文件 在yml文件中配置Redis的基本信息。 2.2 启动Redis 将Redis服务器打开 2.3 代码编写 第一步:注入RedisTemplate @Autowired private RedisTemplate redisTemplate; 第二步:将登录成功的值存到Redis中 //6.登录成功,将员工id存入Redis并返回登录成功结果…