找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangsheng

中级会员

50

主题

206

帖子

638

积分

中级会员

积分
638
zhangsheng
中级会员   /  发表于:2024-3-8 22:12  /   查看:2196  /  回复:9
本帖最后由 zhangsheng 于 2024-3-8 22:43 编辑

用户管理支持自定义属性,自定义属性没有特别说明,应该是可以应用到用户、角色、组织的。


关联这个自定义属性的是CustomizedPropertiesTable表

CustomizedPropertiesTable的字段名称是UserId和UserType。通过查询一些介绍,这里的User专指用户,也就是说只能用户表添加自定义属性。
自定义属性这么好设置,角色和组织不能共用太可惜。
建议将UserId字段改为TargetId,UserType改为TargetType,TargetType可选为0-USER,1-Windows,2-ROLE,3-ORG,就是属性分别匹配用户、角色、组织。

用户管理表是系统基础表,修改已有字段名称可能影响到版本兼容,恐难实现。
退而求其次,要是我直接在UserId里储存角色或组织的ID,在UserType储存2-ROLE,3-ORG,有没有问题?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
Patrick.Zhu
银牌会员   /  发表于:2024-3-11 19:00:36
沙发
这个问题正在调查中,有结果了第一时间回复你
回复 使用道具 举报
Patrick.Zhu
银牌会员   /  发表于:2024-3-12 16:08:59
板凳
了解了下,我们的表也不是直接暴露的,建议你直接使用用户信息视图,结合内置的管理命令。
直接改有不小的兼容性风险。
也许你可以讲讲在方案背后,你希望实现的业务价值是什么?我们再看看,有没有别的方案
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2024-3-12 19:39:46
地板
Patrick.Zhu 发表于 2024-3-12 16:08
了解了下,我们的表也不是直接暴露的,建议你直接使用用户信息视图,结合内置的管理命令。
直接改有不小的 ...


版主好:

现在需要给一级公司组织增加一个自定义属性“社会统一信用代码”,那个代码是全社会唯一的,具有很多使用场景。一级公司名称按理说是唯一的,但是公司名称允许变更,我们组织的名称也允许变更。我们系统的组织id,并不具备全社会性。
同时,还有非公司一级组织,不见得全有信用代码,也就是说,这个信用代码非常重要,但不是必须。
一级组织的下属部门等就没有信用代码,而且可以随时调整。

当前用户系统,只能给用户增加自定义属性,比如“证件代码”。组织、角色就不能使用这个功能,这会造成活字格系统与社会进行用户数据交换,只能用名称是否一致判断,这种方式弊端很多。

回复 使用道具 举报
Patrick.Zhu
银牌会员   /  发表于:2024-3-13 14:10:29
5#
感谢你的详细解答。
看你的逻辑,为什么不是内部维护一张,“社会统一信用代码”的表,类似于内部用的数据表。我没有理解是因为什么情况是必须在组织结构树上支持,如果只是为了保存 公司名-社会统一信用代码这样的关系,方法应该有很多
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2024-3-13 14:43:14
6#
我自建有记录表。公司组织维护的麻烦之处在于更名,而且能不止一次更名。公司要映射到我们用户中的组织,要不自建表里存组织ID,要不组织里存公司代码。个公司的组织ID并不是一成不变的,比如用户组织删除数后重新导入,组织还是那个名称,可能ID变了。而用户表里存信用代码,这个代码不会变。
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2024-3-13 15:07:32
7#
比如组织、系统内公司、公司社会公开查询三种信息维护不同步情形,中间再更过两次名,基本上只能admin拿资料手动去找了。如果有统一代码,这种不同步可以不管,不影响逻辑计算。
回复 使用道具 举报
Patrick.Zhu
银牌会员   /  发表于:2024-3-13 17:51:35
8#
我的理解是,意思你想维护组织、系统内公司、公司社会公开查询三种信息,然后放在活字格里。这其实就是用活字格默认创建的key作为唯一标识。
问题的关键点是有没有一个唯一表示来标记一个公司。问题是,感觉从概念上你们好像没有一个唯一标记的定义在,设置在活字格里也是绕了一次的方法。
你完全可以在自建有记录表里,创建时生成一个有一定规律的半随机码,以此作为一个唯一标记,其他三部分信息只是三个列,修改也不会影响这个key。
回复 使用道具 举报
zhangsheng
中级会员   /  发表于:2024-3-13 22:07:19
9#
想用信用代码是考虑未来与系统外数据交换与认证便利,系统之间确认公司身份还要用信用代码。自检表三列的方式,三方任何修改都要及时更新自检表记录;系统内的更新还好说,系统外的没办法获得通知。需要借助曾用名,这个过程可能要线下。
我们的用户表修改确实会影响兼容,可以理解。
其实就是支持了组织自定义属性,自增ID-属性对应关系也是有风险的。
就先这样解决吧,以后有好方案了再讨论。
回复 使用道具 举报
Patrick.Zhu
银牌会员   /  发表于:2024-3-14 15:03:40
10#
嗯嗯,感谢理解。

这个问题我们今天还再讨论了下,这个很难支持,因为用户信息视图里面很多的功能,大家觉得方便,是因为有些内容是通过代码实现的,而且影响范围非常广,改起来难度很大,我们近几个版本一直在尝试解决相关问题,但都没有找到很好的方案
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部