前言
使用spring security 进行权限管理不得不说是真的很好用,对用户的登录状态的检测和对用户的操作进行控制都是很好的模块.
问题提出
既然是作为权限控制的,那么对于登录用户和非登录用户的区别就是很明显的,什么操作用户在未登录的时候可以做(注册 登录 或者京东的搜索查看),什么操作用户在登录的时候才可以做(对个人的数据进行操作,淘宝的搜索).
那如何解决呢
spring security 默认对所有的操作都需要登录用户的权限才可以做,因此,问题的重点转化为了如何解决非登录用户的访问问题.
定义重写方法
新建Securitycofig.java文件 继承WebSecurityConfigurerAdapter方法
在其中重写configure文件
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/login","/css/**","/js/**","/index.html","/img/**","/fonts/**","/favicon.ico","/register/**","/register/");
}
如上面所示我们就可以对login register接口和一些默认的静态文件进行放行
对源代码进行解读
public org.springframework.security.config.annotation.web.builders.WebSecurity.IgnoredRequestConfigurer ignoring() { /* compiled code */ }
public C antMatchers(java.lang.String... antPatterns) { /* compiled code */ }
我们惊奇的发现 里面没有对任何文件进行放行???(存疑且肯定)