我在基于 Laravel 8 的門戶中定義了兩個不同的身份驗證保護,稱為“siteusers”和“staffusers”,其中我使用 Jetstream 和 Fortify 進行基于會話的身份驗證。
現在,我對兩種型別的用戶都有兩種不同的 URL 結構
- www.sitename.com/siteusers/dashboard
- www.sitename.com/staffusers/dashboard
我想設定一個演算法,如果有人點擊上面的第一個鏈接(未登錄時),那么他應該被重定向到
- www.sitename.com/siteusers/login
如果有人點擊第二個鏈接(未登錄時),那么他應該被重定向到
- www.sitename.com/staffusers/login
在 Fortify 的當前版本中可以使用嗎?
uj5u.com熱心網友回復:
轉到 app\http\middleware\Authenticate.php
在課程開始前添加以下內容
use Illuminate\Support\Facades\Route;
然后用以下代碼替換redirectTo函式中的所有內容
$routeMiddleware = Route::current()->middleware();
// Example Output : Array ( [0] => web [1] => auth:siteusers [2] => verified )
$route = explode(":", $routeMiddleware[1]);
$routeName = $route[1];
if (!$request->expectsJson()) {
if ($routeName == 'siteusers')
return route('siteusers.login');
else
return route('staffusers.login');
}
假設:
- Siteusers 登錄路徑名稱:siteusers.login
- Staffusers 登錄路徑名稱:staffusers.login
- Siteusers 的 Auth Guard 名稱:siteusers
您可以用實際值替換這些值
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/400386.html
