【HZERO】权限管理
Hzero数据权限介绍
https://open.hand-china.com/community/detail/625872021372407808#3.4 开发建议
Permission注解属性介绍
Hzero的整体权限风格都是遵循RBAC,包括接口的权限也是遵循RBAC风格,因此在Hzero项目中提供了一个猪齿鱼的注解@Permission对接口权限进行权限注册的操作,该注解可以指定接口API的层级,访问类型等(登录即可访问,公开接口,需分配权限)。
| 参数名 | 说明 |
|---|---|
| level | 接口层级,ResourceLevel.SITE和ResourceLevel.ORGANIZATION两种 |
| permissionLogin | 登陆后即可拥有的权限,default false |
| permissionPublic | 公共权限,不需要登录即可访问,default false |
| permissionWithin | 是否只允许内部调用, default false |
| code | 权限编码,默认取方法名 |
| tags | 权限标签 |
API权限类别



属性简介
Level:
其中在Hzero项目中,我们通常用到的API层级分为两种,即SITE层级和ORGANIZATION层级,分别对应平台级和租户级的接口。开发者可根据自身接口的要求判断其需要设置为哪一个层级的,然后进行层级设置。
permissionLogin:
此属性的作用为设置该接口的访问权限是否为登录即可访问,设置值为true/false,此类接口一般应用在无需进行角色权限控制的接口上,比如查询导航栏、公告、个人中心信息等等。此类接口在网关服务里进行鉴权过滤的过程中,只要识别调用该接口的用户已登录则鉴权通过允许访问。
permissionPublic:
此属性的作用为设置该接口的访问权限是否为公开权限即可随意调用。设置值为true/false,此类接口一般应用于用户登录,发送验证码等等的接口,注意,此类型的接口无法获取用户信息,也就是说在此类型接口下是无法获取到相关的用户信息的,因此,请结合接口方案设计,谨慎使用该接口,避免出现用户数据缺失的情况。
permissionWithin:
此属性的作用为设置该接口的访问权限是否为内部访问,设置值为true/false,如果设置了该属性为true的话,那么此接口就只能被其它服务通过feign或者ribbon进行调用,而无法被外部系统进行调用,如果外部系统调用此类型接口的话,在网关服务鉴权过程中会鉴权失败并返回状态码:PERMISSION_WITH_IN
权限层级的使用
SITE级别

ORGANIZATION级别

基础服务调用链路


【HZERO】权限管理的更多相关文章
- Android权限管理之RxPermission解决Android 6.0 适配问题
前言: 上篇重点学习了Android 6.0的运行时权限,今天还是围绕着Android 6.0权限适配来总结学习,这里主要介绍一下我们公司解决Android 6.0权限适配的方案:RxJava+RxP ...
- Android权限管理之Android 6.0运行时权限及解决办法
前言: 今天还是围绕着最近面试的一个热门话题Android 6.0权限适配来总结学习,其实Android 6.0权限适配我们公司是在今年5月份才开始做,算是比较晚的吧,不过现在Android 6.0以 ...
- Android权限管理之Permission权限机制及使用
前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- Android6.0运行时权限管理
自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifest设置就可以任意获取权限,而是更加的注重用户的隐私和体验,不会再强迫用户因拒绝不该拥有的权限而导致的无法安装 ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- [Django]用户权限学习系列之权限管理界面实现
本系列前三章: http://www.cnblogs.com/CQ-LQJ/p/5604331.htmlPermission权限基本操作指令 http://www.cnblogs.com/CQ-LQJ ...
- [Django]用户权限学习系列之设计自有权限管理系统设计思路
若在阅读本片文章遇到权限操作问题,请查看本系列的前两章! http://www.cnblogs.com/CQ-LQJ/p/5609690.html和http://www.cnblogs.com/CQ- ...
- 我的MYSQL学习心得(十三) 权限管理
我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
- 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心.最近稍微清闲点,正式推出1.0版,并在阿里 ...
随机推荐
- 又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做 ...
- LabVIEW基于机器视觉的实验室设备管理系统(2)
目录 功能计划 普通用户 欢迎登录 信息查询 返回退出程序 效果演示 在前期的准备完成之后呢,就要开始实现我们的程序啦,不过在编程之前,我们一定要计划好这个系统需要什么功能. 功能计划 既然我们做的是 ...
- MacOS|matplotlib 无法显示中文 解决办法
matplotlib 无法显示中文 解决办法 画图时,中文无法正常显示,如图 下载字体 点击这里获取字体 提取码: wnby 查看字体路径 在 python 环境中执行以下指令 import matp ...
- 封装RabbitTemplate,使用自定义消息转换器
前面创建项目我就省了...活不多说直接上代码! 核心代码 RabbitMQConfig import lombok.extern.slf4j.Slf4j; import org.springframe ...
- Java使用线程池和缓存提高接口QPS
1.什么是QPS? QPS:Queries Per Second意思是"每秒查询率",是一台服务器每秒可以相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标 ...
- bash shell笔记整理——cat命令
cat命令的作用 简单来说cat命令用于查看文件内容,但是真正来说cat将给定的文件或者标准输入输出到标准输出中. 这个命令时会经常使用到的,不管是在shell脚本的编写还是linux运维测试中,ca ...
- Golang实现JAVA虚拟机-运行时数据区
原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一.运行时数据区概述 JVM学习: JVM-运行时数据 ...
- NC65二开经验总结
公式相关 1.显示公式没执行 列表界面显示,卡片界面不显示: Handler的onBoCard执行: getBillCardPanel().execHeadLoadFormulas(); Contro ...
- ChatGPT API来了 附调用方法及文档
3月1日,OpenAI 放出了ChatGPT API(GPT-3.5-turbo 模型),1000个tokens为$0.002美元,等于每输出 100 万个单词,价格才 2.7 美金(约 18 元人民 ...
- 从零玩转设计模式之外观模式-waiguanmos
title: 从零玩转设计模式之外观模式 date: 2022-12-12 15:49:05.322 updated: 2022-12-23 15:34:40.394 url: https://www ...