赞
踩
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** * @author Administrator * @desc 安全配置类 */ @Configuration //@EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /** * authorizeRequests:所有security全注解配置实现的开端,表示开始说明需要的权限 * 需要的权限分为两个部分,第一个部分是拦截的路径,第二部分是访问该路径需要的权限 * antMatchers 拦截的路径 permitall()所有权限都可以,直接放行所有hasAnyRole()这个方法可以指定角色 * anyRequest 任何请求 anthenticated需要认证后才能访问 * .and().csrf().disable(); 固定写法 使csrf攻击失效 * 如果不设置为disabled,所有除了内部的请求,其余外部请求都被认为是在攻击我这个网站,全部拦截 * @param http * @throws Exception */ @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/**").permitAll() .anyRequest().authenticated() .and().csrf().disable(); } /** * 将BCryptPasswordEncoder类注入进工程(使用Bcrypt加密方式) * @return */ @Bean public BCryptPasswordEncoder bCryptPasswordEncoder(){ return new BCryptPasswordEncoder(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。