• JHipster数据权限使用


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

    1. application {
    2.   config {
    3.     applicationType monolith
    4.     title "瀚海工作平台"
    5.     footer ""
    6.     baseName LimsMonolith
    7.     packageName com.eyun
    8.     appVersion "0.0.1"
    9.     serverPort 8891
    10.     authenticationType jwt
    11.     cacheProvider no
    12.     databaseType sql
    13.     devDatabaseType mysql
    14.     prodDatabaseType mysql
    15.     searchEngine false
    16.     serviceDiscoveryType false
    17.     buildTool maven
    18.     enableSwaggerCodegen true
    19.     embeddableLaunchScript false
    20.     clientPackageManager npm
    21.     clientFramework angularX
    22.     clientTheme none
    23.     reactive false
    24.     jhiPrefix jhi
    25.     dtoSuffix DTO
    26.     otherModules []
    27.     websocket spring-websocket
    28.     enableTranslation true
    29.     languages [zh-cn,en]
    30.     nativeLanguage zh-cn
    31.     devDatabasePassword "zgp30RKxVmurmnGe"
    32.     devDatabaseUrl "www.eyun.online:3306"
    33.     prodDatabasePassword "YVrcuPQihPLk7Mpv"
    34.     prodDatabaseUrl "192.168.8.100:3306"
    35.     testFrameworks []
    36.     licenseManager "license4j"
    37.     features [superadmin,crypto,importPreview,dataScope,tenancy,oplog]
    38.     jwtSecretKey "TGltc01vbm9saXRoMjAyMuWunumqjOS/oeaBr+euoeeQhuezu+e7n2NvbS5leXVuODg5MUxpbXNNb25vbGl0aDIwMjLlrp7pqozkv6Hmga/nrqHnkIbns7vnu59jb20u"
    39.   }
    40.   entities *
    41. }

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

    1. /**
    2. * 用户
    3. */
    4. @paginate(pagination)
    5. @system
    6. @ChangelogDate(20220808080808)
    7. @role("USER")
    8. entity User {
    9. @system
    10. email String
    11. @system
    12. lastName String
    13. @id
    14. @system
    15. login String maxlength(50)
    16. }
    17. relationship ManyToMany {
    18. User{@translate(zh-cn="部门")department(label,*)} to Department{@translate(zh-cn="职工")user(login,firstName)},
    19. }

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

    1. /**
    2. * 职工
    3. */
    4. @paginate(pagination)
    5. @translate(zh-cn="职工")
    6. @ChangelogDate(20220809080808)
    7. @dataScope
    8. entity Employee {
    9. @translate(zh-cn="姓名")
    10. name String required minlength(2),
    11. @translate(zh-cn="工号")
    12. @id empno String unique,
    13. @translate(zh-cn="手机号")
    14. @crypto(SM2="???*****???")
    15. mobile String unique minlength(2),
    16. @translate(zh-cn="身份证号码")
    17. @crypto(SM2="????*****????")
    18. idcard String required unique minlength(2),
    19. @translate(zh-cn="微信openid")
    20. @crypto(SM2="????*****????")
    21. openid String unique,
    22. @translate(zh-cn="微信昵称")
    23. nickname String,
    24. @translate(zh-cn="头像地址")
    25. avatarUrl String,
    26. }

    四、在管理界面新建用户

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

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

    数据x

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

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

  • 相关阅读:
    sora生成高质量视频的原理
    全面整理!机器学习常用的回归预测模型
    精智屏如何实现秒级计划任务
    Adadelta--学习笔记
    嵌入式linux开发,Linux下访问PHY芯片寄存器,获取phyID号,获取phy的link状态
    为虚拟网络提供敏捷负载均衡:Everoute LB 特性解读
    公众号内容拓展学习笔记(2022.7.5)
    YOLOv5 分类模型 数据集加载 3
    day 2
    window11安装Python环境
  • 原文地址:https://blog.csdn.net/ymb76/article/details/133653417