[英]Laravel Subdomain Redirect With Login
我是一個相當新的堆棧溢出所以請在這里堅持我。
我正在創建一個具有以下鏈接的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 '); }
的代碼switch (User::getGroup()) { case 'Athlete': return Redirect::to(' http://athlete.main.dev '); case 'Coach': return Redirect::to(' http://coach.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的登錄信息在到達這些重定向時自動登錄用戶? 或者我如何跨子域共享會話數據?
謝謝你的幫助, - 尼克
我認為您需要一個SSO(單點登錄)功能來解決您的問題,因為您需要為不同服務器上的兩個應用程序提供服務,它只能通過SSO實現。 看一下這可能有助於解決您的問題 -
解決問題的一種方法是將用戶名和密碼發送到要重定向的URL,並在子域中創建一個Auth :: attempt()。
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
添加該你做任何事情之前
if(isset($username) && isset($password)){
Auth::attempt(['username' => $username, 'password' => $password]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.