我正在努力实现这一点,在不同服务器上安装不同的laravel框架,彼此协同工作,并与主应用程序(超级应用程序)共享资源,如上图所示。
超级应用程序位于主服务器上,并包含用户管理模块,该模块确定当前登录到系统的用户。如果登录,您可以加载其他模块,这是位于不同服务器上的另一个laravel 5设置。
只有当用户登录到主应用程序时,这些应用程序才能工作。超级应用程序上的Auth->user()对象被发送到相应的应用程序(A1和A2)进行数据输入。
我最初的方法是使用laravel 5实现HMVC,但HMVC意味着只使用一个laravel设置,这意味着只使用一个服务器。但是,当您有不同的应用程序分别运行在不同的服务器上,并尝试将其与来自主服务器的主应用程序的身份验证绑定在一起时,我不知道这是多么可能,但我相信这是可以做到的。
请告诉我如何做到这一点,这是我的老板想要的,并坚持要这样做。
发布于 2017-10-26 23:13:46
这是一个奇怪的设置,但我有两个解决方案:
1)如果您的应用程序可以共享相同的域,则可以使用共享cookie。例如,假设您的应用程序配置如下:
SA example.org
(指向服务器1)
A1 a1.example.org
(指向服务器2)
A2 a2.example.org
(指向服务器3)
在SA
中,您可以为您的子应用程序保存一个标识cookie (每个Laravel安装都可以访问它)。
2)如果你不能共享相同的域名,你可以登录SA
,然后使用一些POST数据重定向到你的子应用程序。A1
或A2
将能够从请求中收集标识参数,并将其保存在会话/ cookie中以记住您。
最后,有了标识码,您可以编写一个API来检索用户数据。
https://stackoverflow.com/questions/46957417
复制相似问题