栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring Boot +安全性+多HTTP Web配置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Boot +安全性+多HTTP Web配置

经过大量阅读后,我发现了一些对我有用的东西:

@Configuration@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)@EnableGlobalMethodSecurity(securedEnabled = true)public class WebSecurityConfiguration extends GlobalAuthenticationConfigurerAdapter {    @Resource(name = "customUserDetailsService")    protected CustomUserDetailsService customUserDetailsService;    @Resource    private DataSource dataSource;    @Autowired    protected void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {        auth.userDetailsService(customUserDetailsService);    }    @Configuration    @Order(1)    public static class ApiConfigurationAdapter extends WebSecurityConfigurerAdapter {        @Resource(name = "restUnauthorizedEntryPoint")        private RestUnauthorizedEntryPoint restUnauthorizedEntryPoint;        @Resource(name = "restAccessDeniedHandler")        private RestAccessDeniedHandler restAccessDeniedHandler;        @Override        protected void configure(HttpSecurity http) throws Exception { SecurityConfigurer<DefaultSecurityFilterChain, HttpSecurity> securityXAuthConfigurerAdapter = new XAuthTokenConfigurer(         userDetailsServiceBean()); // @formatter:off http     .antMatcher("/api/**").csrf().disable()     .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)     .and()     .exceptionHandling()         .authenticationEntryPoint(restUnauthorizedEntryPoint)         .accessDeniedHandler(restAccessDeniedHandler)     .and()         .authorizeRequests()  .antMatchers(HttpMethod.POST, "/api/authenticate").permitAll()  .anyRequest().hasRole("ADMIN")  .and()  .apply(securityXAuthConfigurerAdapter); // @formatter:on        }    }    @Configuration    @Order(2)    public static class WebConfigurationAdapter extends WebSecurityConfigurerAdapter {        @Override        protected void configure(HttpSecurity http) throws Exception { // @formatter:off http     .authorizeRequests()         .antMatchers("/", "/home").permitAll()         .anyRequest().authenticated()         .and()         .formLogin()  .loginPage("/login").permitAll()         .and()         .logout().permitAll() ; // @formatter:on        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635666.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号