若依系统权限控制

熟悉若依

@PreAuthorize("@ss.hasPermi('system:role:add')") 注解的含义

@PreAuthorize("@ss.hasPermi('system:role:add')") 是一个Spring Security中的注解,用于在方法级别进行权限控制。

这个注解的含义是:只有在用户拥有 "system:role:add" 权限时,才允许调用被注解的方法。它通过调用 "ss.hasPermi()" 方法来进行权限判断,其中 'system:role:add' 是一个权限表达式,表示用户需要具备 "system:role:add" 权限才能执行该方法。

在具体实现中,通常需要定义 "ss.hasPermi()" 方法来判断用户是否具备指定的权限。这个方法可以根据不同的业务需求进行自定义实现,常见的实现包括从数据库或缓存中查询用户的权限信息,并与传入的权限表达式进行匹配。

使用 @PreAuthorize 注解可以在方法执行之前进行权限验证,确保只有具备相应权限的用户才能访问受保护的方法。这有助于提高系统的安全性和数据访问控制。

请注意,具体的权限逻辑和实现方式可能因所使用的框架或权限管理系统而有所不同,上述说明仅为一般概念的解释,具体实现请参考适用于您的框架和工具的文档和示例。

@ApiOperation("新增角色")
@PreAuthorize("@ss.hasPermi('system:role:add')")
@Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysRole role)
{
    if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
    {
        return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
    }
    else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
    {
        return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
    }
    role.setCreateBy(getUsername());
    return toAjax(roleService.insertRole(role));

}
方法参数描述
hasPermiString验证用户是否具备某权限
lacksPermiString验证用户是否不具备某权限,与 hasPermi逻辑相反
hasAnyPermiString验证用户是否具有以下任意一个权限
hasRoleString判断用户是否拥有某个角色
lacksRoleString验证用户是否不具备某角色,与 isRole逻辑相反
hasAnyRolesString验证用户是否具有以下任意一个角色,多个逗号分隔

作者:Lemonade22
链接:https://juejin.cn/post/7249926456884117563
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值