两个laravel应用程序之间的通信
我正试图实现这一点,在不同的服务器上安装不同的laravel framework,彼此协作,并与主应用程序(超级应用程序)共享资源,如上图所示 超级应用程序位于主服务器上,包含用户管理模块,该模块确定当前登录系统的用户。 如果登录,您可以加载其他模块,这是位于不同服务器上的另一个laravel 5设置 只有当用户登录到主应用程序时,这些应用程序才能工作。超级应用程序上的Auth->user()对象被发送到相应的应用程序(A1和A2)进行数据输入 我最初的方法是使用laravel 5实现HMVC,但HMVC意味着只使用一个laravel设置,这意味着只使用一台服务器。但是,当不同的应用程序分别在不同的服务器上运行,并尝试将其与来自主服务器的主应用程序的身份验证绑定时,我不知道这有多大可能,但我相信这是可以做到的两个laravel应用程序之间的通信,laravel,authentication,laravel-5.2,acl,hmvc,Laravel,Authentication,Laravel 5.2,Acl,Hmvc,我正试图实现这一点,在不同的服务器上安装不同的laravel framework,彼此协作,并与主应用程序(超级应用程序)共享资源,如上图所示 超级应用程序位于主服务器上,包含用户管理模块,该模块确定当前登录系统的用户。 如果登录,您可以加载其他模块,这是位于不同服务器上的另一个laravel 5设置 只有当用户登录到主应用程序时,这些应用程序才能工作。超级应用程序上的Auth->user()对象被发送到相应的应用程序(A1和A2)进行数据输入 我最初的方法是使用laravel 5实现HMVC,
请问我如何做到这一点,这是我的老板想要的,并坚持要这样做 这是一种奇怪的设置,但我想到了两种解决方案: 1) 如果应用程序可以共享同一个域,则可以使用共享cookie。例如,假设您的应用程序配置如下: SA
example.org
(指向服务器1)
A1A1.example.org
(指向服务器2)
A2A2.example.org
(指向服务器3)
从SA
可以为您的子应用程序保存一个标识cookie(每个Laravel安装都可以访问它)
2) 如果无法共享同一域,则可以登录到SA
,然后使用一些POST数据重定向到子应用程序A1
或A2
将能够从请求中收集标识参数,并将其保存在会话/cookie中以记住您
最后,有了您的识别码,您可以编写一个API来检索用户的数据。您可能想看看这个主题好的,@LarsMertens,马上开始。。。谢谢,我知道,答案来得太晚了,但现在他们使用SSO(单点登录)。用户在超级应用程序中进行身份验证,并在其他应用程序中使用基于时间的令牌(重新)进行身份验证。这种方法适用于使用相同数据库的分布式应用程序我的最后一次尝试是通过API,但如果我必须这样做,它将非常复杂。尤其是当您必须独立于主应用程序渲染视图时。API太单调了…通过API你只需要抓取数据。然后可以填充辅助应用程序所需的对象。也许在您的视图中有
{{\Auth::user()->username}}
,因此通过删除用户数据,您可以显示一个新的Auth
保护,并用用户数据填充它。那么其他的一切都一样了。谢谢@Vicenzo Maragony。。。我刚刚经历了这一切,你的回答对我的任务是有效的。。。。我会用饼干的方法。。这很有道理。