在已有系统上增加子账户功能,什么办法好?

2018-05-15 08:42:52 +08:00
 zjsxwc

目前系统是一个账户操作他自己的内容,现在客户想要有子账户功能,让他的员工来登录处理他账户里的内容,应该如何增加子账户功能?

目前考虑两个办法:

  1. 由于系统已经有了通过手机扫码登录,有个地方标记了“登录方式”,那么我们可以拓展这个“登录方式”为“子账户”登录,但登录的用户还是主账户,这样改动最小。

  2. 和主账户一样,把子账户和主账户关联起来,然后所有对账户鉴权的地方也要判断子账户有没有权限,改动会有点多。

应该用哪个合适?

2952 次点击
所在节点    程序员
8 条回复
sanjusss
2018-05-15 08:49:21 +08:00
花生壳用的是类似 1 的方法,不过正好反过来,是用主账号管理子账号。
zjqzxc
2018-05-15 08:51:13 +08:00
方案 2。如果权限控制设计不是太大坑的话,这种方式改动并没有想象中的那么多。

方案 1 如果哪天用户说子账户的权限需要限制的时候就该哭了
liuxey
2018-05-15 08:55:36 +08:00
长期项目选 2,短平快项目选 1
zjsxwc
2018-05-15 09:05:34 +08:00
@zjqzxc @liuxey

2 的改动真的有点多,感觉整个项目都要重写一遍,数据库结构,订单系统,聊天系统,我要吐血了。。

我先用 1 应付下吧,权限控制也可以简单做下不难
fortunezhang
2018-05-15 09:54:30 +08:00
子员工是全部权限吗? 如果是的话,你可以登录的时候让它登录进去,session 里面的 name 是子账户的名字,session 里面的 id,是父 id,这样所有权限都跟 id 绑定在一起,就可以改动很小了。
如果子员工没有全部权限的话,那就尴尬了,你需要一点点的改,还要做权限列表。
paragon
2018-05-15 10:14:36 +08:00
其实设计的时候就应该 account 关联 user 表
realpg
2018-05-15 21:16:47 +08:00
如果整站系统都是你写的 那么做 2 的改造并不太费劲
IBN5100
2020-12-07 10:06:11 +08:00
我也遇到了这个问题 使用的 spring security 前后端分离的 但是如果仅仅使用主账户登录的话 返回的都是同一个 token 无法区分出当前用户的子用户 你有遇到过这个问题吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX