可以使用SpringSecurity在请求到@RequestMapping之前进行拦截。
题外话:Spring的Interceptor(拦截器)是在@RequestMapping之后进行拦截的。
SpringSecurity可以得到用户信息并在拦截器中使用
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
if(principal instanceof UserDetails) {
return((UserDetails) principal).getUsername(); }
if(principal instanceof Principal) {
return((Principal) principal).getName(); } returnString.valueOf(principal);
一般都是UserDetails实例