首页 > 编程语言 > 详细

SpringBoot整合Light Security框架

时间:2021-02-25 15:10:41      阅读:30      评论:0      收藏:0      [点我收藏+]

 

官方git地址:https://gitee.com/itmuch/light-security/tree/master

 

引入maven

<dependency>
    <groupId>com.itmuch.security</groupId>
    <artifactId>light-security-spring-boot-starter</artifactId>
    <version>1.0.1-RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

 

配置文件

server:
  port: 8009
light-security:
  # 权限规则配置:表示用{http-method}方法请求的{path}路径必须具备什么{expression}
  spec-list:
    - http-method: ANY
      path: /login
      expression: "anon()"
    - http-method: ANY
      path: /user
      expression: "hasAnyRoles(‘user‘,‘admin‘)"
    - http-method: ANY
      path: /user-no-access
      expression: "hasAllRoles(‘user‘,‘admin‘,‘xx‘)"
    - http-method: GET
      path: /error
      expression: "anon()"
    - http-method: ANY
      path: /**
      expression: "hasLogin()"
  jwt:
    # jwt sign算法
    algorithm: hs512
    # jwt secret
    secret: {secret}
    # jwt 有效时间
    expiration-in-second: 1209600

 

代码示例

@RequestMapping
@RestController
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TestController {
    private final UserOperator userOperator;
    private final JwtOperator operator;

    /**
     * 演示如何获取当前登录用户信息
     * - 该路径需要具备user或admin权限才可访问,详见application.yml
     *
     * @return 用户信息
     */
    @GetMapping("/user")
    public User user() {
        return userOperator.getUser();
    }


    /**
     * 模拟登录,颁发token
     *
     * @return token字符串
     */
  @GetMapping("/login")
    public String loginReturnToken() {
        User user = User.builder()
                .id(1)
                .username("张三")
                .roles(Arrays.asList("user", "admin"))
                .build();

         //也可以以下这种方式
        User user = User.builder()
                    .id("用户ID")
                    .username("用户名")
                    .build();

        return operator.generateToken(user);
    }
}

 

然后前端访问的时候要携带请求头

格式为

 

Authorization:Bearer token

 

 这里的token替换成上面颁发的token 注意Bearer和token之间有个空格

SpringBoot整合Light Security框架

原文:https://www.cnblogs.com/pxblog/p/14446623.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!