JHipster数据权限使用

news2024/12/30 0:56:13

一、在JDL的application配置中添加feature:dataScope

application {
  config {
    applicationType monolith
    title "瀚海工作平台"
    footer ""
    baseName LimsMonolith
    packageName com.eyun
    appVersion "0.0.1"
    serverPort 8891
    authenticationType jwt
    cacheProvider no
    databaseType sql
    devDatabaseType mysql
    prodDatabaseType mysql
    searchEngine false
    serviceDiscoveryType false
    buildTool maven
    enableSwaggerCodegen true
    embeddableLaunchScript false
    clientPackageManager npm
    clientFramework angularX
    clientTheme none
    reactive false
    jhiPrefix jhi
    dtoSuffix DTO
    otherModules []
    websocket spring-websocket
    enableTranslation true
    languages [zh-cn,en]
    nativeLanguage zh-cn
    devDatabasePassword "zgp30RKxVmurmnGe"
    devDatabaseUrl "www.eyun.online:3306"
    prodDatabasePassword "YVrcuPQihPLk7Mpv"
    prodDatabaseUrl "192.168.8.100:3306"
    testFrameworks []
    licenseManager "license4j"
    features [superadmin,crypto,importPreview,dataScope,tenancy,oplog]
    jwtSecretKey "TGltc01vbm9saXRoMjAyMuWunumqjOS/oeaBr+euoeeQhuezu+e7n2NvbS5leXVuODg5MUxpbXNNb25vbGl0aDIwMjLlrp7pqozkv6Hmga/nrqHnkIbns7vnu59jb20u"
  }
  entities *
}

二、自定义Entity:User,并添加@role("USER")

/**
 * 用户
 */
@paginate(pagination)
@system
@ChangelogDate(20220808080808)
@role("USER")
entity User {
	@system
	email String
	@system
	lastName String
	@id
	@system
	login String maxlength(50)
}
relationship ManyToMany {
    User{@translate(zh-cn="部门")department(label,*)} to Department{@translate(zh-cn="职工")user(login,firstName)},
}

三、在需要添加数据权限的Entity前添加注释@dataScope

/**
 * 职工
 */
@paginate(pagination)
@translate(zh-cn="职工")
@ChangelogDate(20220809080808)
@dataScope
entity Employee {
    @translate(zh-cn="姓名")
    name String required minlength(2),
    @translate(zh-cn="工号")
    @id empno String unique,
    @translate(zh-cn="手机号")
    @crypto(SM2="???*****???")
    mobile String unique minlength(2),
    @translate(zh-cn="身份证号码")
    @crypto(SM2="????*****????")
    idcard String required unique minlength(2),
    @translate(zh-cn="微信openid")
    @crypto(SM2="????*****????")
    openid String unique,
    @translate(zh-cn="微信昵称")
    nickname String,
    @translate(zh-cn="头像地址")
    avatarUrl String,
}

四、在管理界面新建用户

系统在创建用户的时候会创建对应的用户唯一的权限,如用户test对应权限ROLE_USER_test。

五、在entity对应的编辑界面选择数据权限

数据x

五、在entity对应的列表界面查看数据

用户只能看到在步骤四中设置对应的权限的用户能看到其数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

010:连续跌3天,同时这三天收盘价都在20日均线下,第四天上涨的概率--以京泉华为例

对于《连续跌三天,压第四天上涨的盈利计算》,我们可以继续优化这个策略,增加条件:同时三天都收盘在20日均线下。 因为我们上一篇《获取20日均线数据到excel表中》获得了20日均线数据,我们可以利用均线数据来编写新的脚…

神经辐射场(NeRF)中-相机参数与坐标系变换

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 是一篇获得ECCV2020 Best Paper Honorable Mention的论文。给定一个场景的多视角的图像,神经辐射场(NeRF)通过图像重建误差优化一个神经场景表征。优化后可以实现逼…

布隆过滤器及其用法

1 定义 布隆过滤器(Bloom Filter, BF)是由Howrad Bloom在1970年提出的一种具有高效时间和空间效率的二进制向量数据结构,用来检测一个元素是不是属于这个集合。注意,布隆过滤器只判断是否出现在集合中,无法给出元素在集合中的具体位置。 1.1…

C语言内存函数

目录 memcpy(Copy block of memory)使用和模拟实现memcpy的模拟实现 memmove(Move block of memory)使用和模拟实现memmove的模拟实现: memset(Fill block of memory)函数的使用扩展 memcmp(Compare two blocks of memory)函数的使用 感谢各位大佬对我的支持,如果我的文章对你有…

JavaScript小游戏实现高分榜

之前我们实现了游戏的主体功能,以及恢复之类的功能!本次我们来实现高分榜的功能 功能的需求如下: ● 这个逻辑非常的简单,就是当我们猜对了数字后,跟我们的highscore做比较,如果比highscore高的话&#x…

跨境电商系统对接-进口

一、跨境进口方式 1、一般贸易 指中国境内有进出口经营权的企业进行进出口贸易,货物到港后需要先清关(办理海关申报、查验、征税、放行等手续),然后货主才能提货,一般贸易适合大批量进口商品,公司的鲜奶、…

面试题:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!

文章目录 前言时间片超线程上下文切换切换查看线程调度引起线程上下文切换的因素总结 前言 由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销…

厌烦了iPhone默认的热点名称?如何更改iPhone上的热点名称

你对你默认的热点名称感到厌倦了吗?这篇文章是为你准备的。在这里,你可以了解如何轻松更改iPhone上的热点名称。 个人热点会将你的手机数据转换为Wi-Fi信号。手机上的个人热点使用户能够与其他用户共享其蜂窝数据连接。当你在WIFI网络之外时&#xff0c…

更轻便使用Siri!iOS 17让你用Siri的效率倍增

安装iOS 17后,你可以学习如何连续发出一个接一个的Siri请求。只要你有iPhone 11或iPhone SE第二代或更高版本,你就不需要不断重新激活Siri来提出后续请求。你只需要继续说下去。 Siri聪明的是,它可以了解你所问的要点。例如,你可…

根据中序与后序遍历结果构造二叉树

文章前言:对于中序与后序遍历不是太清楚的小白同学,作者推荐: 二叉树的初步认识_加瓦不加班的博客-CSDN博客 解题思路: 先通过后序遍历结果定位根节点 再结合中序遍历结果切分左右子树 代码实现: //1. pre-order 前…

让照片人物开口说话,SadTalker 安装及使用(避坑指南)

AI技术突飞猛进,不断的改变着人们的工作和生活。数字人直播作为新兴形式,必将成为未来趋势,具有巨大的、广阔的、惊人的市场前景。它将不断融合创新技术和跨界合作,提供更具个性化和多样化的互动体验,成为未来的一种趋…

如何轻松正确的写出链表代码?

文章来源于极客时间前google工程师−王争专栏。 技巧一:理解指针或引用的含义 指针:存储所指对象的内存地址 将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地…

【WIN】双机调试——Net模式

概述:windows 双机调试可以在主页搜索 bcdedit 命令。 参考: Set up KDNET network kernel debugging manually - Windows drivers | Microsoft Learn 双机调试是一个非常有用的技术,方便内核、驱动等调试场景。 本文主要记录个人尝试使用ne…

2023年中国建筑安装行业市场现状分析:占比建筑业总产值8.4%[图]

建筑业是我国经济支柱产业之一。建筑业包括房屋建筑业、土木工程建筑业、建筑安装业、建筑装修装饰和其他建筑业。建筑安装行业是建筑业的一个细分行业,其主要包括线路安装、管道安装、设备安装三个细分行业,具体是指建筑物主题工程竣工后,建…

pg_rman 的编译和使用

一、编译 下载地址: ossc-db/pg_rman: Backup and restore management tool for PostgreSQL (github.com)https://github.com/ossc-db/pg_rman代码由日本电信的运维团队维护。 针对不同的PostgreSQL版本,使用不同的分支编译,我的PG版本试1…

【 构建maven工程时,配置了阿里云的前提下,依旧使用中央仓库下载依赖导致失败的问题!】

构建maven工程时,配置了阿里云的前提下,依旧使用中央仓库下载依赖导致失败的问题!!! 错误提示信息: Cannot download ZIP distribution from https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3…

Knife4j_接口概述、常用注解详解、搭建swagger项目、功能概述

文章目录 ①. knife4j的概述②. knife4j核心功能③. 从0开始搭建knife4j项目④. 常用注解 - Api④. ApiOperation注解⑤. ApiModelProperty注解⑥. ApiImplicitParam注解⑦. ApiImplicitParams注解⑧. 限制请求方式⑨. 导出离线API文档 ①. knife4j的概述 ①. knife4j是为Java …

C#上位机——根据命令发送

C#上位机——根据命令发送 第一步:设置窗口的布局 第二步:设置各个属性 第三步:编写各个模块之间的关系

【力扣】单调栈:901. 股票价格跨度

【力扣】单调栈:901. 股票价格跨度 文章目录 【力扣】单调栈:901. 股票价格跨度1. 题目介绍2. 思路3. 解题代码参考 1. 题目介绍 设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。 当日股票价格的 跨度 被定义为股票价格…

文献综述|CV领域神经网络水印发展综述

前言:最近接触了「模型水印」这一研究领域,阅读几篇综述之后,大致了解了本领域的研究现状,本文就来总结一下该领域的一些基础知识,以飨读者。 ⚠️注:本文中出现的研究工作均基于计算机视觉任务开展&#x…