shiro的三种权限控制方式

使用shiro权限控制有三种方式:

  1. 注解式:使用shiro注解
  2. 编程式:编写代码
  3. 配置式:使用yml配置

一、注解式

在这里插入图片描述

注意:如果使用的是使用的permission验证,一般会在管理系统-菜单管理-新增固定按钮并且填上授权标识符

使用方法:

@PostMapping
@RequiresPermissions("demo:anttest:save")
public Result save(@RequestBody Map<String,Object> param) {
    return new Result().ok();
}

二、编程式

不满足情况则抛出异常,异常类为:org.apache.shiro.authz.AuthorizationException
示例:

public Result save(@RequestBody Map<String,Object> param) {
    Subject subject = SecurityUtils.getSubject();
    subject.checkPermission("aaa");
    subject.checkRole("aaa");
    return new Result().ok();
}

三、配置式

在yml进行配置

shiro:
    urlRules:
        - url: /aaa/**
          rule: anon
        - url: /bbb/**
          rule: authc,roles[admin]
        - url: /ccc/**
          rule: authc,perms[测试用的lkkk]

版权声明:本文为weixin_43867205原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。