Jack.Cheng 发表于 2022-5-25 09:05:15

不建议自己在活字格中实现用户管理

本帖最后由 Jack.Cheng 于 2022-5-25 13:43 编辑

用活字格比较深入的格友都知道,活字格为大家提供了用户管理机制,并且该机制深入到了活字格开发的应用的方方面面。如果你希望应用在钉钉、企微等系统中嵌入,那么我们官方提供了与活字格版本关联的各个用户安全提供程序,来同步这些第三方的组织结构,角色,用户等;如果你是基于域认证的,那么安全提供程序也可以读取到这些信息。尤其在第三方系统这里,同步用户信息是SSO的基石。

我们知道,用户管理是需要谨慎认真地设计与操作的。

有的格友,因为对活字格的用户管理不太熟悉,可能会说我自己设计一个用户表,来存储用户信息(姓名,密码,性别,分类等字段,其中密码还进行了明文存储!),然后开始准备自己来实现登录与注册逻辑,发现不太好弄,因为内建页面的登录按钮不能配置命令,所以还得另外新建立了一个登录页面,自己进行密码对比。这里其实就有问题了,密码明文存储肯定是不行了,需要进行加密与解密操作,这里又涉及到密码算法的选取与安全性相关问题。更深入的后续问题是,因为用户是咱自己管理了,那么后面服务端控制台给角色加人就没法选择这些用户了(因为活字格服务器根本没法读取到这些用户)。
这里本质在于,活字格有自己的用户管理机制,我们不需要自己再去考虑这些问题,把用户按照活字格的规则,交给它去管理,去操作即可。就好比IoC容器中,我们把类的创建和声明周期管理交给容器去做,而不是自己手动大量new一样。在活字格已经存在的系统中,重新建立一套用户管理既麻烦自己,又会带来难以解决的问题,何乐而为之呢。一个应用,两套用户管理机制,就好比日本的南北朝时期,京都北朝与吉野南朝,带来了深重的灾难。
上面我们讲了为什么要用活字格的用户管理机制,下面我们说说实务,就是你用这个机制,有哪些我们的功能,可以帮助到你,可能不全,仅供参考:

[*]用户的自定义属性(https://help.grapecity.com.cn/pa ... ion?pageId=56529354)


你的用户不仅仅希望有我们内置的那些属性,还希望有个性化的信息,比如类别(是学生还是老师),班级等,可以用这个,这是活字格灵活性的体现之一

[*]用户自定义视图(https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=57696)
这个公开课讲了怎么把自定义属性使用,提供了不限于此的各种细节,会有很多花活在里面。建议至少看两次。

[*]登录后跳转的技巧
https://gcdn.grapecity.com.cn/fo ... 42861&fromuid=64825

All in all,用户管理用活字格提供好的机制即可。


swejet 发表于 2022-5-25 11:30:12

说的都对

1.把“不要”改为“不建议”,原因不说了;
2.把这个写到官方的帮助手册里,录个视频跟大家解释清楚了,放到视频教程里。写到贴子里,没几天就沉了,新来的亲还是不知道,还是会傻乎乎地自己建用户表,然后官方又出来说”你不应该这样啊,应该那样啊“,小新就一脸蒙蔽,没人告诉过我啊?不告而杀谓之虐;

3.有一个公开课是讲如何搞定权限的,现在又说不要,没有讲清楚那节公开课和这个不要的关系。什么时候按照公开课的去做,什么情况下就不要,这一点没有讲情楚;

3.把注册功能给我们实现了啊,用传统用户名和口令注册,用手机号注册,用邮箱注册,用微信号和钉钉号注册,就这几个就行,倒是给我们实现了啊,什么?你说B端系统一般没有注册功能?那就是说活字格做不了SaaS了呗?这和宣传的不一样啊?!

(悄悄地:最后一条才是我想说的,前面那些都不重要:g54da:)

小侠米 发表于 2022-5-25 17:25:11

Jack.Cheng 发表于 2022-5-25 14:32
感谢您的建议,帖子已经做了相关修改,我这里主要是想说用户管理的,权限您依然可以使用那个公开课讲的内 ...

活字格服务器管理本身就不完善,就只有一个管理员权限,
后台管理本身不是也要分角色分权限管理的吗,例如
都是后台管理员,张总就是只能管理用户,,李总就只能设置各种参数、激活服务器等等
如果有这些后台的权限管理,也就不存在这个建议了,大家也乐意用官方的
问题是,没有,,,活字格后台全一个人包办了

再不济是不是直接把用户管理独立出去,单独分用户去一个页面管理,也好过现在情形

lijetcart 发表于 2022-5-25 14:05:58

呵呵呵

Jack.Cheng 发表于 2022-5-25 14:32:24

swejet 发表于 2022-5-25 11:30
说的都对

1.把“不要”改为“不建议”,原因不说了;


感谢您的建议,帖子已经做了相关修改,我这里主要是想说用户管理的,权限您依然可以使用那个公开课讲的内容:hjyzw:。只是说用户要交给活字格来管理。

注册功能使用活字格可以做的,比如可以把手机号作为自定义字段存到用户里面,邮箱咱自带就有那个字段,还能自己通过调用用户管理命令,通过传值方式把这些传递给活字格的用户管理机制,但是活字格本身还是使用用户名来识别用户的。微信和钉钉号注册,可以使用微信和钉钉的扫码登录命令来做下:i0tw2:

gczxxu 发表于 2022-5-25 15:42:18

来学习一下精神。。待会再吃透。。。。:itwn:

Jack.Cheng 发表于 2022-5-26 09:48:38

小侠米 发表于 2022-5-25 17:25
活字格服务器管理本身就不完善,就只有一个管理员权限,
后台管理本身不是也要分角色分权限管理的吗,例 ...

这里呢,就要说到一个大家可能不太常用的功能


通过对不同的角色分配不同的服务器权限,然后把人关联到对应的角色,可以达到您说的那个效果

小侠米 发表于 2022-5-26 14:35:44

Jack.Cheng 发表于 2022-5-26 09:48
这里呢,就要说到一个大家可能不太常用的功能



那就是可以的,没留意到,什么时候的版本开始有的??

Jack.Cheng 发表于 2022-5-26 16:28:27

小侠米 发表于 2022-5-26 14:35
那就是可以的,没留意到,什么时候的版本开始有的??

很早的功能了:itwn:

Syl 发表于 2022-5-28 10:50:24

:L做个权限管理很难么,我一个大项目同一个单位好几个项目,只有一个管理员。
页: [1] 2
查看完整版本: 不建议自己在活字格中实现用户管理