Laravel 9 chuyển hướng người dùng sau khi đăng nhập

Điều này có nghĩa là chúng ta có thể tìm thấy một const RouteServiceProvider có tên là "HOME", chúng ta có thể ghi đè const này và nó sẽ thay đổi điểm cuối chuyển hướng sau khi đăng nhập, nhưng đây không phải là điều chúng ta cần để chuyển hướng người dùng theo vai trò hoặc theo bất kỳ điều kiện nào khác

LoginController sử dụng một đặc điểm

use AuthenticatesUsers;

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đặc điểm AuthenticatesUsers này có một đặc điểm khác "RedirectsUsers" đặc điểm RedirectsUsers này có một phương thức "redirectPath"

public function redirectPath[]
{
    if [method_exists[$this, 'redirectTo']] {
        return $this->redirectTo[];
    }

    return property_exists[$this, 'redirectTo'] ? $this->redirectTo : '/home';
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Vì vậy, điều đó có nghĩa là đặc điểm này xem xét liệu lớp có thuộc tính "redirectTo" hay không và nếu không, nó sẽ thực thi phương thức "redirectTo", vì vậy chúng ta có thể thêm phương thức "redirectTo" trong LoginController để thêm bất kỳ logic nào chúng ta cần

Ví dụ như

public function redirectTo[]
{
    $for = [
        'admin' => 'admin.panel',
        'user'  => 'foundations.splashscreen',
    ];
    return $this->redirectTo = route[$for[auth[]->user[]->role]];
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ở đây, bạn có thể thấy một mảng với các vai trò là khóa và tên tuyến đường là giá trị, tôi thực sự khuyên bạn nên sử dụng phương thức "route[]", bởi vì nếu bạn thay đổi điểm cuối, nó không ảnh hưởng đến phương thức này, vì giá trị mà chúng tôi đang giải quyết theo cách di động

Ghi chú

Nếu bạn cần sử dụng một số "dd[]" gỡ lỗi điểm cuối sẽ được chuyển hướng, bạn có thể chuyển đến đặc điểm "AuthenticatesUsers. php" được sử dụng bởi "LoginController" ở đây chúng ta có thể tìm thấy một phương thức "sendLoginResponse", sử dụng phương thức redirectPath[]

protected function sendLoginResponse[Request $request]
{
    $request->session[]->regenerate[];

    $this->clearLoginAttempts[$request];

    if [$response = $this->authenticated[$request, $this->guard[]->user[]]] {
        return $response;
    }
    // HERE YOU CAN ADD a dd[$this->redirectPath[]]
    return $request->wantsJson[]
                ? new Response['', 204]
                : redirect[]->intended[$this->redirectPath[]];
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ghi chú

Nếu bạn muốn chuyển hướng người dùng đã xác thực trên các tuyến xác thực theo vai trò sang các đường dẫn khác nhau, chỉ cần chỉnh sửa phần mềm trung gian "Redirect IfAuthenticated" để chuyển hướng theo các vai trò khác nhau

Bạn muốn biết cách chuyển hướng người dùng sau khi đăng nhập vào ứng dụng Laravel của mình? . Theo mặc định, laravel sẽ chuyển hướng người dùng đến trang chủ như vậy. protected $redirectTo = '/home';

Để thay đổi hành vi mặc định đó, hãy thêm đoạn mã sau vào App/Http/Controllers/Auth/LoginController.php. Thao tác này sẽ chuyển hướng người dùng [sau khi đăng nhập] đến nơi bạn muốn

// inside LoginController class
use AuthenticatesUsers;

// check if authenticated, then redirect to dashboard
protected function authenticated[] {
	if [Auth::check[]] {
		return redirect[]->route['dashboard'];
	}
}

Chúng tôi chỉ đơn giản là sử dụng AuthenticatesUsers đặc điểm bên trong LoginController để chúng tôi có thể sử dụng một trong những phương thức của nó có tên là authenticated[]. Nếu tò mò về đặc điểm này, bạn có thể tìm kiếm Người dùng xác thực trong trình chỉnh sửa của mình và xem thử. Trong cao siêu, bạn có thể sử dụng

public function redirectPath[]
{
    if [method_exists[$this, 'redirectTo']] {
        return $this->redirectTo[];
    }

    return property_exists[$this, 'redirectTo'] ? $this->redirectTo : '/home';
}
0 hoặc
public function redirectPath[]
{
    if [method_exists[$this, 'redirectTo']] {
        return $this->redirectTo[];
    }

    return property_exists[$this, 'redirectTo'] ? $this->redirectTo : '/home';
}
1.  

Theo mặc định, phương thức này được để trống trong đặc điểm AuthenticatesUsers. Bạn có thể áp dụng bất kỳ logic nào bạn muốn áp dụng bên trong phương thức này để chuyển hướng người dùng.  

Chuyển hướng người dùng dựa trên Vai trò trong Laravel

Nếu người dùng của bạn dựa trên vai trò, thì bạn có thể chuyển hướng họ [sau khi đăng nhập] đến một trang cụ thể dựa trên vai trò của họ, chẳng hạn như Quản trị viên, Tác giả và Người đăng ký. Hãy xem mẫu mã dưới đây

Làm cách nào để chuyển hướng trang sau khi đăng nhập trong Laravel?

Hệ thống xác thực tích hợp của Laravel có thuộc tính $redirectTo mà bạn có thể sử dụng để tùy chỉnh nơi người dùng sẽ được chuyển hướng sau khi đăng nhập thành công/ . Nhưng chúng ta có thể tùy chỉnh nhiều hơn thế. Theo mặc định, app/Http/Controllers/Auth/RegisterController. php có thuộc tính $redirectTo.

Làm cách nào để chuyển hướng người dùng sau khi đăng nhập trong Laravel 8?

Theo mặc định, laravel sẽ chuyển hướng người dùng đến trang chủ như vậy. được bảo vệ $redirectTo = '/home'; . add the following code in App/Http/Controllers/Auth/LoginController. php . Điều này sẽ chuyển hướng người dùng [sau khi đăng nhập] đến nơi bạn muốn.

Làm cách nào để hiển thị hồ sơ người dùng sau khi đăng nhập trong Laravel?

Nếu bạn đang sử dụng triển khai đăng nhập mặc định của Laravel, chỉ cần sử dụng Auth. user[] để lấy mô hình người dùng đã đăng nhập . Lưu câu trả lời này.

Làm cách nào để chuyển hướng bằng tuyến đường trong Laravel?

Laravel chuyển hướng đến tuyến đường đã đặt tên .
chuyển hướng trở lại ['/ home']; . .
Tuyến đường. get['home', 'HomeController@index']->name['home'];.
chuyển hướng trở lại [] -> tuyến đường ['nhà'];.
Tuyến đường. get['/', 'HomeController@index']->name['home'];

Chủ Đề