【若依】@PreAuthorize-创新互联

提示:自己学习帮助记忆,有问题指出,不喜勿喷!

创新互联建站长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为安徽企业提供专业的网站制作、成都网站制作安徽网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

文章目录
  • 前言
  • 一、权限方法
  • 二、使用示例
    • 1.数据示例
    • 2.角色权限示例
  • 三、公开接口
  • 总结


前言

@PreAuthorize:

Spring Security提供了Spring EL表达式,允许我们在定义接口访问的方法上面添加注解,来控制访问权限


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

其中@ss代表的是PermissionService (opens new window)服务,对每个接口拦截并调用PermissionService的对应方法判断接口调用者的权限。

1.数据示例

代码如下(示例):

// 符合system:user:list权限要求
@PreAuthorize("@ss.hasPermi('system:user:list')")

// 不符合system:user:list权限要求
@PreAuthorize("@ss.lacksPermi('system:user:list')")

// 符合system:user:add或system:user:edit权限要求即可
@PreAuthorize("@ss.hasAnyPermi('system:user:add,system:user:edit')")
2.角色权限示例

代码如下(示例):

// 属于user角色
@PreAuthorize("@ss.hasRole('user')")

// 不属于user角色
@PreAuthorize("@ss.lacksRole('user')")

// 属于user或者admin之一
@PreAuthorize("@ss.hasAnyRoles('user,admin')")

权限提示:超级管理员拥有所有权限,不受权限约束。

三、公开接口

如果有些接口是不需要验证权限可以公开访问的,这个时候就需要我们给接口放行。
使用注解方式,只需要在Controller的类或方法上加入@Anonymous该注解即可

// @PreAuthorize("@ss.xxxx('....')") 注释或删除掉原有的权限注解
@Anonymous
@GetMapping("/list")
public Listlist(SysXxxx xxxx)
{return xxxxList;
}
总结

来源于若依官方文档,记一下帮助记忆!

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享题目:【若依】@PreAuthorize-创新互联
网址分享:https://www.cdcxhl.com/article18/cesodp.html

成都网站建设公司_创新互联,为您提供关键词优化定制开发自适应网站做网站手机网站建设网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设