拦截器与springsecurity

拦截器是在Spring Security之前运行的,因为拦截器是在DispatcherServlet之前运行的,而Spring Security是在DispatcherServlet中的过滤器链中运行的。

如果在Spring Security中放行了拦截器放行的接口,那么如果没有进行额外的配置,这些接口只会通过Spring Security的匿名用户访问。如果想要得到Spring Security中的用户名,您可以使用SecurityContextHolder中的SecurityContext获取当前用户的信息。示例代码如下:

@GetMapping("/example")
public String example() {
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    String username = authentication.getName();
    return "Hello " + username;
}

这里的``authentication.getName()``方法将返回当前用户的用户名。注意,如果用户未经过身份验证,则``authentication``对象可能为null,因此在使用前请进行必要的空值检查。

你可能感兴趣的:(sql,数据库,mysql)