Erik.Xue 发表于 2020-7-6 14:45:10

一看就会,超有用活字格技能:九十五、用户删除后行权限问题

本帖最后由 Erik.Xue 于 2020-7-8 11:36 编辑

行权限对于大伙儿来说应该不陌生了吧。活字格的权限控制可谓是非常强大的,不仅精准到数据表中的行,甚至字段也可以。
于是乎,功能越是强大就越容易出现意想不到的状况。当然,我们也不可能考虑的面面俱到嘛。


但是,不怕,再难的问题也要解决!

问题背景:
开启行权限之后,如图:


在很多管理系统中,一般大家都是想让登录用户看到自己所创建的数据,所以这里就会设置只有登录用户创建的记录查看、编辑、删除相应的记录。

所以,问题就出现了。
在开启行权限后,如果新的用户B替换用户A的岗位,并且用户A已经在用户管理里面删掉了。那么之前用户A在系统里面操作的业务数据,用户B怎么才能看到并且操作?

不知道各位老爷有没有遇到这样的情况呢?

各位应该都知道在活字格设计器中,按住Ctrl+Shift+双击表格就会有这样的效果:


看到没有,就会多出来这四个字段,FGC_CreateData/FGC_LastModifier/FGC_LastModifyData/FGC_Creator,这四个字段分别对应左侧表格中的创建日期/最后更新者/最后更新日期/创建者。

解决办法:

当我们发现这种情况时,一般分两类:

第一类:项目还没有上线,处于设计阶段。
第二类:项目已经上线使用了一定的时间,属于发布阶段。

这里给大家提供一个相对较为稳妥的解决办法。

1、在存在行权限的表上额外加一个字段,比如叫“记录人”。

2、往数据表中录入数据时,使用设置单元格命令设置该字段所保存的值为当前登录用户的用户名。


3、当保存好之后,如果是上面说的第二类情况,项目已经上线运行了一定时间,之前肯定有许多A用户创建的值,此时新加入的B用户想要看之前A创建的记录是不是就没有办法了呢?

不,我们还有补救办法,设置这么一个命令,批量的更新所有选定行为新加入用户即可。


最后,在行权限设置中更改为:


登录用户并且“记录人”为当前用户即可。

是不是有点意思?感兴趣的小伙伴可以下载附件中工程文件看看哦~:itwn:







页: [1]
查看完整版本: 一看就会,超有用活字格技能:九十五、用户删除后行权限问题