通过登录进行Laravel子域重定向

时间:2016-11-05 05:40:42

标签: php laravel redirect cookies laravel-5.3

我对堆栈溢出相当新,所以请在这里坚持下去。

我正在创建一个具有以下链接的laravel项目......

main.dev(这是针对用户的登录,注册和帮助部分)

athlete.main.dev(这是为了让运动员在main.dev登录时被重定向)

coach.main.dev(这是为了将教练重定向到main.dev登录)

以下是重定向用户代码的概念 switch (User::getGroup()) { case 'Athlete': return Redirect::to('http://athlete.main.dev'); case 'Coach': return Redirect::to('http://coach.main.dev'); }

此工作正常,用户根据其帐户类型重定向,但在到达此子域时,用户当前被迫再次登录。

我一直在寻找大约三天试图找到答案无济于事。

是否可以根据main.dev的登录信息在到达这些重定向时自动登录用户?或者我如何跨子域共享会话数据?

感谢您的帮助, -Nick

2 个答案:

答案 0 :(得分:2)

我认为您需要 SSO(单点登录)功能来解决您的问题,因为您需要同时为不同服务器上的应用程序提供服务,它只能通过SSO实现。看一下这可能有助于解决您的问题 -

Good single sign-on solution for Laravel

答案 1 :(得分:1)

解决问题的一种方法是将用户名和密码发送到要重定向的网址,并在子网域中创建一个Auth :: attempt()。

z

在处理switch (User::getGroup()) { case 'Athlete': return Redirect::to('http://athlete.main.dev')->with([ 'username' => $username, 'password' => $password ]); case 'Coach': return Redirect::to('http://coach.main.dev')->with([ 'username' => $username, 'password' => $password ]);; } coach.main.dev的控制器中,在您制作其他内容之前添加此内容

athlete.main.dev