Spring Boot 中应用Spring Security

前段时间做后台管理系统,想着做一个简单的权限管理和URL 访问拦截。

步骤1. 添加spring-security的相关依赖

    1. 

maven-dependency

步骤2. 实现必要的接口

    1. implements UserDetails

           这里面主要是包含user的常用信息,比如用户名,密码,用户名是否过期,是否被锁。根据自己的需求设定即可。

        关键是这个getAuthorities 方法  :这个其实是用户的权限,这个一般就是用户角色了,直接在里面根据用户角色进行实现返回即可  

    2.implements UserDetailsService

        这一步主要是loadUserByUsername,其中返回UserDetails.

    3.extends WebSecurityConfigurerAdapter

        这一步主要是配置request所需要的角色。

  

 需要注意的地方:

        1. 角色必须以“ROLE_”开头,但是在继承WebSecurityConfigurerAdapter的配置里面的hasrole里又不要“ROLE_” 这一部分。

               1) 例: 有个角色,ROLE_ADMIN。在WebSecurityConfigurerAdapter里面就是hasRole("ADMIN")

        2. 在UserDetails里面不要有authorities这个属性(本人此处被坑)

        3. 在WebSecurityConfigurerAdapter里面需要.antMaters(HttpMethod.OPTIONS,"/**").permitAll(),当然此处取决于你的请求模型,但是如果使用fetch应该是需要的

这篇文章讲得挺好的 https://www.jianshu.com/p/08cc28921fd0    

    

    

你可能感兴趣的:(Spring Boot 中应用Spring Security)