Tôi có Laravel 5.3 với ba loại người dùng khác nhau. Tôi muốn họ được chuyển hướng đến trang bảng điều khiển khác nhau sau khi đăng nhập Ví dụ:.Laravel 5.3 Đăng nhập chuyển hướng đến các trang khác nhau cho nhiều người dùng
sử dụng -> đăng nhập -> sử dụng bảng điều khiển
admin -> đăng nhập -> admin-dashboard
tôi đã tạo ra một middleware gọi CheckRole
:
public function handle($request, Closure $next)
{
if($request->user() === null) {
return response("Insufficient Permissions" , 401);
}
$actions = $request->route()->getAction();
$roles = isset($actions['roles']) ? $actions['roles'] : null;
if($request->user()->hasAnyRole($roles) || !$roles) {
return $next($request);
}
return response("Insufficient Permissions" , 401);
}
đường
Route::group(['middleware' => ['auth','roles'], 'roles' => 'Admin'], function() {
// Routes here
}
Vai trò hoạt động hoàn hảo.
Hiện tại redirectTo= '';
trong LoginContoller
chỉ cho một chế độ xem. Tôi đã kiểm tra tài liệu và tôi tin rằng điều này có liên quan đến các vệ sĩ không có giải thích về cách thiết lập tài liệu.
Tôi cũng đã thấy nhiều người dùng, nhưng tôi không nghĩ rằng việc tạo các bảng khác nhau cho những người dùng khác nhau và do đó tìm kiếm câu trả lời thay thế là khôn ngoan.
Mọi đề xuất sẽ được đánh giá cao.
bảng của tôi là như sau:
Table users
id | name | email
---------
1 | John | [email protected]
2 | Michael | [email protected]
Table roles
id | name
---------
1 | Admin
2 | PrivilegedMember
3 | Subscriber
Table user_role
id | user_id | role_id
----------------------
1 | 1 | 1
2 | 2 | 2
Đây có thể là một bản sao của câu hỏi dưới đây nhưng câu trả lời lá được cung cấp mà không giải thích nhiều chuyển hướng.
Multiple Authentication in Laravel 5.3