Spring Security 小知识点

来源:互联网 发布:淘宝联盟淘宝身份认证 编辑:程序博客网 时间:2024/06/15 21:31
  1. UserDetailService 是认证的时候用的,是资源服务器用的
  2. 数据库名不要用中划线
  3. 鉴权的服务器如果加了http.formLogin(),如果鉴权不通过,就会跳转到登录界面;如果不添加这个,如果鉴权不通过,就会返回json格式的信息;所以都是restful,不要加,如果是配置在zuul上,zuul作为UI服务器,还是要加的; 2. 如果一个服务器上同时用SecurityConfiguration和OAuth2ResourceServerConfig的配置,SecurityConfiguration管用,OAuth2ResourceServerConfig里的权限配置不管用;
  4. actuator的程序入口,所有的get请求EndpointMvcAdapter,权限控制的入口类,MvcEndpointSecurityInterceptor,
  5. 使用阿里云的负载均衡的好处是,只需要知道部署的应用的端口号,就可以用负载均衡IP+端口号访问到该应用
  6. 一个意想不到的bug,ResourceServer的restTemplate和自己用来请求http的restTemplate 冲突了,导致发送请请求的时候,出了bug

  7. 需要注意:同时引入Spring Security和Actuator的时候,会验证两次,一此时Spring Security的验证,一次是actuator里的MvcEndpointSecurityInterceptor的验证,这两次验证的验证内容是一样的,不知道为啥验证两次;
    也就是说actuator里的接口是可以被resource server的配置保护的,而且支持任意的认证方式;
    authorization server上的actuator为什么不能用resourceserver来保护,因为上一点,所以不会有其他的组件在使用actuator的时候用access_token,也就是说,要想使用authorization server上的actuator,还得开启basic验证;

  8. Spring Security最重要的就是那个FilterChain,什么功能有没有,行不行,去FilterChain里找是否有对应的Filter就可以了

  9. EnableOAuth2SSo和EnableOAuth2Client的区别是EnableOAuth2SSo会在过滤器链中添加OAuth2ClientAuthenticationProcessingFilter
  10. 接口服务器使用@EnableOAuth2Client,UI 服务器使用EnableOAuth2SSo