TKCORE框架学习之初级篇(五)--数据权限

数据权限

数据权限是控制能够看到什么样的数据。比如在淘宝中,你只能看到你的账号下的订单,而无权看到别人的订单。数据权限具有相同的功能,根据设定,你只能看到你想要看到的数据,如果尝试通过修改 url 的 Id 去查看其它数据,数据权限同样会阻止这种非法操作(除非修改的 Id 确实是你可以看的)

数据权限采用配置插件的方式存在。框架预置了 RegDataRight、OwnerDataRight、OwnerOrgDataRight、CompositeDataRight、EmptyDataRight、CompanyUserDataRight、CompanyOrgDataRight 等 7 种数据权限控制方法。当然,如果你有额外的需求,比如允许共享数据,那么需要开发自己的配置插件来完成这种需求。(这些将在高级篇予以阐述)

<tk:Module>
  <tk:Source>
    <tk:SingleDbSource>
      <tk:Resolver>
        <tk:RegResolver>User</tk:RegResolver>
      </tk:Resolver>
      <tk:DataRight>
        <tk:OwnerDataRight NickName="CreateId"/>
      </tk:DataRight>
    </tk:SingleDbSource>
  </tk:Source>
</tk:Module>
  • EmptyDataRight

    空数据权限

    <tk:EmptyDataRight AllowAll="true" />
    

    AllowAll 为 true 允许查看所有数据,false 不允许查看所有数据

  • OwnerOrgDataRight

    检查记录是否是本组织的数据权限

    <tk:OwnerOrgDataRight NickName="OrgID"/>
    

    NickName 为数据记录存储组织的字段昵称

  • OwnerDataRight

    检查记录是否是本人的数据权限

    <tk:OwnerDataRight NickName="CreateId"/>
    

    NickName 为数据记录存储记录所有者的字段昵称

  • CompanyUserDataRight

    提供该用户以及该用户所有下属用户的数据权限(在 YJC.Toolkit.SimpleRight.dll 中)

    <tk:CompanyUserDataRight NickName="CreateId"/>
    

    NickName 为数据记录存储记录所有者的字段昵称

  • CompanyOrgDataRight

    提供该用户所有下属组织机构的数据权限(在 YJC.Toolkit.SimpleRight.dll 中)

    <tk:CompanyOrgDataRight NickName="OrgId"/>
    

    NickName 为数据记录存储组织的字段昵称

  • RegDataRight

    根据配置的注册名实例化数据权限

    <tk:RegDataRight>myDataRight</tk:RegDataRight>
    

    注意,这里的注册名 myDataRight 是指你实现 IDataRight 接口的类的名字。其实以上几种数据权限底层也是实现了 IDataRight 接口。如果你需要实现自己的数据权限控制,可以参考 YJC.Toolkit.SimpleRight 实现。

  • CompositeDataRight

    根据配置选择对应的数据权限

    <tk:CompositeDataRight HasRightIfNoItem="false">
      <tk:RightItem Style="List">
        <tk:RegDataRight>myDataRight</tk:RegDataRight>
      </tk:RightItem>
    </tk:CompositeDataRight>
    

    HasRightIfNoItem:如果没有匹配的权限配置,标记是否有数据权限。默认为 false,即无数据权限

最后,以上配置必须在相应的DbSource上设置SupportData为true,否则不生效!!!

<tk:SingleDbSource SupportData="true">
</tk:SingleDbSource>
关于TKCore的更多信息请点击: http://www.tkcore.net
关注微信公众号获取TKCore最新资讯:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TkCore

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值