分散式許可權控制、session共享例項
阿新 • • 發佈:2019-02-09
本人在分散式中通過redis共享session的方式實現許可權控制,即sessionId放到redis中,userId放於session中,可實現許可權控制。
session共享例項
@ConditionalOnProperty(prefix = "rkele", name = "spring-session-open", havingValue = "true") public class SpringSessionConfig { }
@Configuration @EnableRedisHttpSession public class RedisSessionConfig { }
測試類
@Controller@RequestMapping("/rkele/redis") public class testRedisSession { @ResponseBody @RequestMapping(value = "/first", method = RequestMethod.GET) public Map<String, Object> firstResp (HttpServletRequest request){ Map<String, Object> map = new HashMap<>(); request.getSession().setAttribute("request Url", request.getRequestURL()); map.put("request Url", request.getRequestURL()); return map; } @ResponseBody @RequestMapping(value = "/sessions", method = RequestMethod.GET) public Object sessions (HttpServletRequest request){ Map<String, Object> map = new HashMap<>(); map.put("sessionId", request.getSession().getId()); map.put("message", request.getSession().getAttribute("request Url")); return map; } }