基于多用户的架构如何设计?
现公司开发了一套基础的OA系统产品,但最近考虑想把产品做成服务运维模式,也就是多个公司的用户可以同时使用一套系统,通过一个域名访问,这样便于维护与长期运维,现希望大神给提供下多用户设计的架构,目前考虑的方案有三种,分别如下:
统一入口:所有的单位访问统一的地址,统一的登录界面,登录后可根据用户权限显示相应的模块及自定义风格,但是不同的公司中的账号需保持唯一性。
公司识别码:在创建公司的时候系统可生成一个识别码,在登录的时候输入,可根据认别码标识不同的公司,可支持多公司重复用户。
URL转发:通过域名+目录方式进行URL转发,如A公司访问地址为:www.oa.com/a,B公司为:www.oa.com/b,好处可自定义登录界面,在登录前就能识别当前所访问的公司。
------------------------------------------
这是目前能想到的解决方案,请大神给评估下各方案,从实施工作量、难度以及后续的扩展上哪种最有优势,或者有其它更好的解决方案也行。
目前时间也是有点急,现在OA产品已经有很多功能了,所以改造也是大问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
可以通过handle获取target,分割出租户id(如果是辨识码,此时需要查询出租户的id)放入request中,重写target, 就可以区分租户。后面的业务通过getAttr获取租户id,就可以辨识是什么公司了
这个必须的,测试通过后写个分享,也当次大神,嘻嘻
回复
最近也要用到,楼主快点弄好分享一下啦
具体方法已通过 qq 告知楼主,希望楼主在搞定后,再回来分享一下
貌似你这个方案不错,URL转发结合统一管理,怎么实现我得看看,谢谢
你说的很对,现在时间不是很充分,并且OA已经有很多基础的功能了,改造起来的话,估计这种方案前期很麻烦,很费时间
统一入口,统一管理后台,统一账号系统。统一的入口前期会稍微麻烦一点后面就轻松很多了,不同的入口将来面临更多的维护和二次开发
这种就是我的想第一种方案,统一入口,通过账号判断,这样做的话,工作量跟难度不知道,但是登录页肯定是没法定义了,有的公司肯定是希望有自己的LOGO
为什么不通过账号自动判断所属公司呢?
我目前也是中意这种方案,简单,好区分,但是后续的扩展不知道如何
URL转发比较好,权限也好控制,每添加一个公司,数据库也创建对用的数据库就行了。
是啊,头疼,没设计过
确实是一个大问题