- 前言
- 第一部分 基础应用开发
- 第 1 章 Spring Boot 入门
- 第 2 章 在 Spring Boot 中使用数据库
- 第 3 章 Spring Boot 界面设计
- 第 4 章 提高数据库访问性能
- 第 5 章 Spring Boot 安全设计
- 第二部分 分布式应用开发
- 第 6 章 Spring Boot SSO
- 第 7 章 使用分布式文件系统
- 第 8 章 云应用开发
- 第 9 章 构建高性能的服务平台
- 第三部分 核心技术源代码分析
- 第 10 章 Spring Boot 自动配置实现原理
- 第 11 章 Spring Boot 数据访问实现原理
- 第 12 章 微服务核心技术实现原理
- 附录 A 安装 Neo4j
- 附录 B 安装 MongoDB
- 附录 C 安装 Redis
- 附录 D 安装 RabbitMQ
- 结束语
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
6.3 安全配置模块
安全配置模块集成了 SSO 客户端的安全策略配置和权限管理功能,可以供使用 SSO 的客户端使用。代码清单 6-4 是客户端的安全策略配置,其中,注解 @EnableO-Auth2Sso 将应用标注为一个 SSO 客户端,重载的 configure 方法使用了 HttpSecurity 来配置一些安全管理策略。注意这里没有登录链接的配置,因为登录认证的功能已经交给 OAuth2 处理了。另外,CustomFilterSecurityInterceptor 设定了使用自定义的权限管理过滤器,这个功能还是与第 5 章的设计一样,这里不再赘述。
代码清单 6-4 客户端安全策略配置
@Configuration @EnableOAuth2Sso @EnableConfigurationProperties(SecuritySettings.class) public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Autowired private AuthenticationManager authenticationManager; @Autowired private SecuritySettings settings; @Override public void configure(HttpSecurity http) throws Exception { http .antMatcher("/**").authorizeRequests() .antMatchers(settings.getPermitall().split(",")).permitAll() .anyRequest().authenticated() .and().csrf().requireCsrfProtectionMatcher(csrfSecurityRequest Matcher()) .csrfTokenRepository(csrfTokenRepository()).and() .addFilterAfter(csrfHeaderFilter(), CsrfFilter.class) .logout().logoutUrl("/logout").permitAll() .logoutSuccessUrl(settings.getLogoutsuccssurl()) .and() .exceptionHandling().accessDeniedPage(settings.getDeniedpage()); } @Bean public CustomFilterSecurityInterceptor customFilter() throws Exception{ CustomFilterSecurityInterceptor customFilter = new CustomFilterSecurity Interceptor(); customFilter.setSecurityMetadataSource(securityMetadataSource()); customFilter.setAccessDecisionManager(accessDecisionManager()); customFilter.setAuthenticationManager(authenticationManager); return customFilter; } ...... }
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论