TKCORE框架学习之初级篇(四)--功能权限

功能权限

功能权限用来控制菜单的授权,即被授权的菜单项会显示,而不被授权的菜单项就不会显示。同时,功能权限还可以防止在浏览器上直接输入非授权菜单项的地址。和登录权限不同,登录权限只要登录系统,就能访问页面,而不管该页面是否授权。而功能权限只能访问那些授权的功能,非授权的功能不允许访问。

功能权限的 Xml 定义

在很多 Source 中,都可以找到功能权限的定义,如下:
在这里插入图片描述

一旦在 Xml 中定义了这个,功能权限的检查就会启动。

FunctionType 有四个类型:

  • None:不做功能权限检查,这个和没定义一样

  • Admin:只要访问用户具有 Admin 权限就能访问功能,其他不管。

  • Function:这个功能最常用,定义它时,需要同时配置 FunctionKey,这个 FunctionKey 必须要和菜单的短名称一致。也就是说,只有这个菜单授权了,你才能访问。没授权,敲地址就会显示无授权页面(这个页面可以进行全局配置)

  • SubFunction:这个功能除了具备 Function 的功能外,还能对 Function 中每个子操作检查是否授权。因此,使用这个配置,除了要配置 FunctionKey,还需要配置每个子操作的 Key。TK5.5 重新定义了这个 SubKey,它通过扫描配置功能的 url 地址,获取子功能使用的 Source 和 PageStyle,通过这两个参数可以基本上确定一个功能了。这样 SubKey 就是 Source 和 PageStyle 的叠加。(后面将有对 SubFunction 功能配置的示例)

FunctionKey 在 FunctionType 设置为 Function 或者 SubFunction 时配置,需要和菜单的短名称一致。如果不一致,即使获得授权,也一样不能访问。

关于功能权限的 Source

对数据库操作的 Source,如 SingleDbSource,MasterDetailDbSource 等等,都加了 FunctionRight 的配置标签。这些 Source 也是菜单上常用的 Source,因此要开启功能权限应该非常方便。但是,不是每种 Source 都添加了 FunctionRight 的配置,一些很简单的 Source,通常无此配置,如果这些 Source 也需要添加功能权限的保护,那么,系统新开发了一个 Source 作为代理来完成此功能。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZmtUKmf4-1620610007752)(http://www.tkcore.net/assets/img/right03.3ebeef0c.jpg)]

这个 Source 可以包装那些不带 FunctionRight 定义的 Source。它只是一个代理,具体 Source 需要做的功能,依旧是原来的 Source 去做。只是在做之前,需要检查菜单功能是否授权。

关于 SubFunction 的功能增强

由于 SubFunction 的缺陷问题一直存在,原先采用 PageStyle 作为 SubKey,只能解决常规问题。而强行在每个子功能指定 Key,会使配置复杂,好在 tk5.5 的功能定义已经全部可以通过 Url 获取,因此通过 url 可以获取一个子功能使用的 Source 和 PageStyle,通过这两个参数可以基本上确定一个功能了。因此,对 SubFunction 进行相应的调整,SubKey 以当前 Url 的 PageStyle 和 Source(已经定义 SubFunctionKey 类,该类进行了相关处理,可以作为 Dictionary 的 Key 存储)作为 Key 传入 API 进行检查。

对应的,作为 FunctionRight 的实现,需要针对传入 SubFunctionKey 进行相关比对查找。此外,FunctionRight 在存储用户信息时,最好也要通过分析 Url 来获取 PageStyle 和 Source 来进行相关比对。

Url 的规则请查询相关文档。

Toolkit 在 SimpleRight 也做了相应调整,如果有自定义的 FunctionRight 实现,可以参考 SimpleRight 中实现。

具体实例

现在以用户管理功能为例,来说明 SubFunction 的配置。

在菜单管理中,可以看到用户管理的子功能,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gEFGWLMG-1620610007754)(http://www.tkcore.net/assets/img/right04.0a9dd02e.jpg)]

其中新建,修改,删除都是内置的功能。而重置密码和设置角色都有额外的 Source 来实现相应的功能。

在 User.xml 中定义了新建,修改,删除的功能,这里使用的标准的 SingleDbSource,因此可以直接配置 FunctionRight 的节点,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xTCpI85n-1620610007756)(data:image/jpeg;base64,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)]

重置密码的配置在 ChangeUserPasswd.xml 中,这个 Source 没有 FunctionRight 节点,因此,我们使用前面定义的 FunctionRightSource 进行改写,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OkSHYtQD-1620610007758)(http://www.tkcore.net/assets/img/right06.8241dc91.jpg)]

设置权限的配置在 UserPart.xml 中,这个 Source 同样没有 FunctionRight 节点,因此,我们同样使用前面定义的 FunctionRightSource 进行改写,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hGNfIpGu-1620610007758)(http://www.tkcore.net/assets/img/right07.aaab0945.jpg)]

改造完成后,如果在角色配置中配置好相应的权限。使用相应的用户登录后,除了看不到相应功能外,如果尝试使用敲地址的方式进行访问,将看到如下界面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wQbKvZI8-1620610007759)(http://www.tkcore.net/assets/img/right08.c96f3b6a.jpg)]

关于TKCore的更多信息请点击: http://www.tkcore.net
关注微信公众号获取TKCore最新资讯:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TkCore

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

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

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

打赏作者

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

抵扣说明:

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

余额充值