1. 程式人生 > >分散式許可權控制、session共享例項

分散式許可權控制、session共享例項

本人在分散式中通過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; } }