1.因产品需求方的要求,我经过考察,使用现今流行的springboot框架,security权限配置,刚开始碰到不少坑,后来慢慢琢磨,其实发现也就那么一回事。
2.看本文章前,需要有点springboot对于注解基础,否则可能不太理解。
这个是我的基本配置,有部分大家可能用不到,我就说一下基本使用的哪些。
WebConfig这个类继承WebMvcConfigurerAdapter,其实主要是配置拦截器使用的
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Autowired
private WebDavConfig webDavConfig;
@Autowired
private UserSecurityInterceptor securityInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new BreadCrumbInterceptor()).addPathPatterns(“/**”);
registry.addInterceptor(new WorkWXInterceptor()).addPathPatterns(“/**”);
.excludePathPatterns(“/login”,”/logout”);//配置登录拦截器拦截路径
// registry.addInterceptor(authInterceptor); //用于跨域时候拦截判断
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping(“/**”)
.allowedOrigins(“*”)
.allowCredentials(true)
.allowedMethods(“GET”, “POST”, “DELETE”, “PUT”)
.maxAge(3600);
}
@Bean
public FilterRegistrationBean webDavFilterRegistration() {
WebDavEngine engine = new WebDavEngine(webDavConfig.getFsPath());
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(engine.getFilter());
registration.addUrlPatterns(engine.getResourceRoot());
registration.setName(“webdav”);
registration.setEnabled(webDavConfig.isEnable());
return registration;
}
}
主要其实也就一些拦截器配置使用,其它功能其实很少使用到。具体就那样。
主要的权限配置还是如下:
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{
}
这个WebSecurityConfig继承WebSecurityConfigurerAdapter,并重写它的方法来设置安全权限
import mobi.shoumeng.oa.entities.base.config.CasProperties;
/**
* Created by wuyanzhou
* Copyright @2017
*/
import mobi.shoumeng.oa.services.auth.UserAuthService;
import mobi.shoumeng.oa.services.workwx.auth.WorkWXAuthFilter;
import mobi.shoumeng.oa.services.workwx.auth.WorkWXAuthProvider;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEn