Chuyển hướng đăng nhập Laravel về nhà
Nếu bạn đang làm việc trên Laravel 5. 1 và sử dụng lớp Auth cho mục đích xác thực, rất có thể bạn sẽ gặp phải vấn đề chuyển hướng về nhà sau khi đăng nhập Show
Mặc dù các tài liệu nói rằng bạn có thể ghi đè hành vi bằng cách đặt giá trị $redirectedPath. Thing là nó vẫn sẽ không làm việc. Sau khi lãng phí một thời gian hợp lý, tôi đã tìm ra vấn đề Theo mặc định, hàm tạo Auth được định nghĩa là public function __construct() { $this->middleware('guest', ['except' => 'getLogout']); } Phần mềm trung gian này thực sự gọi đặc điểm RedirectIfAuthenticated. Nếu bạn đi đến định nghĩa, bạn sẽ tìm thấy Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tùy chỉnh hệ thống xác thực trong ứng dụng Laravel 8 của mình để chuyển hướng người dùng sau khi họ đăng ký hoặc đăng nhập vào một tuyến khác tùy thuộc vào vai trò của họ Hầu hết thời gian, hệ thống xác thực do Laravel 8 cung cấp là đủ để thêm thông tin đăng nhập và đăng ký vào ứng dụng web của bạn Giàn giáo xác thực hiện được chuyển sang gói 5 riêng biệt cung cấp các tuyến đường và chế độ xem vượt trội cho 6, 7 và 8 được bao gồm trong dự án của bạn và chịu trách nhiệm cung cấp chức năng của hệ thống xác thực
Chuyển hướng xác thực của Laravel 8 bằng cách sử dụng user()->role == 'admin') { return '/admin'; } return '/home'; } public function __construct() { $this->middleware('guest')->except('logout'); } } 0Ví dụ: nếu bạn xem tệp 1, bạn sẽ tìm thấy đoạn mã sau
Bạn có thể thấy rằng một biến 0 tồn tại và có giá trị là 3 nơi người dùng được chuyển hướng sau khi họ đăng nhậpTrong hệ thống xác thực tích hợp sẵn của Laravel, bạn có thể tùy chỉnh nhiều mặt, chẳng hạn như lộ trình chuyển hướng bằng cách sử dụng biến 0 tồn tại trong cả bộ điều khiển đăng nhập và đăng kýNếu bạn muốn chuyển hướng người dùng của mình đến các tuyến khác với tuyến mặc định sau khi họ đăng ký hoặc đăng nhập, bạn chỉ cần thay đổi giá trị của 0Chuyển hướng xác thực của Laravel 8 bằng phương thức user()->role == 'admin') { return '/admin'; } return '/home'; } public function __construct() { $this->middleware('guest')->except('logout'); } } 6Bây giờ, nếu bạn muốn chuyển hướng người dùng đến một tuyến tùy thuộc vào một số tiêu chí của người dùng, chẳng hạn như vai trò của họ thì sao? Hệ thống xác thực của Laravel cũng giải quyết vấn đề đó bằng cách cung cấp phương thức 6 mà bạn có thể sử dụng thay vì biến 0Hãy lấy ví dụ về 6 của ứng dụng CRM của chúng ta bằng cách thêm phương thức 6 để chuyển hướng người dùng quản trị đến một tuyến khác ngoài tuyến 3
Chúng ta cũng cần làm điều đó trong bộ điều khiển đăng ký. Mở tệp 42 và cập nhật nó như sau 4Bạn có thể loại bỏ biến 0 hoặc để nguyên vì nó sẽ bị ghi đè đơn giản bởi phương thức 6Tạo Trình điều khiển Laravel 8 cho Quản trị viênBây giờ, tất cả những gì bạn cần là tạo một tuyến đường ________ 145 cùng với một tuyến đường ________ 146. Quay trở lại thiết bị đầu cuối của bạn và chạy lệnh thủ công sau 0Tiếp theo mở file 47 và cập nhật như sau 2Tiếp theo mở file 48 và thêm route vào admin controller như sauSự kết luậnTrong hướng dẫn này, chúng tôi đã triển khai chuyển hướng trong ứng dụng Laravel 8 CRM của mình để người dùng quản trị được chuyển hướng đến một tuyến đường khác trong khi người dùng bình thường được chuyển hướng đến tuyến đường chính. Chuyển hướng không thực thi bất kỳ quy tắc bảo mật nào vì người dùng bình thường vẫn có thể truy cập tuyến đường 45. Chúng ta cần ngăn chặn điều đó bằng cách sử dụng phần mềm trung gian, chủ đề của hướng dẫn tiếp theo
Làm cách nào để chuyển hướng đến trang chủ sau khi đăng nhập trong laravel?Phương pháp đơn giản nhất là sử dụng trình trợ giúp chuyển hướng toàn cầu. . Tuyến đường. get('/dashboard', function() { chuyển hướng trở lại ('/ home/dashboard'); Làm cách nào để chuyển hướng tuyến đường để đăng nhập trong laravel?if(Auth. check()) { return Xem. make('view_page'); . route('login')->withInput()->with('errmessage', 'Vui lòng Đăng nhập để truy cập khu vực hạn chế. return Redirect::route('login')->withInput()->with('errmessage', 'Please Login to access restricted area. ');
Làm cách nào để chuyển hướng người dùng sau khi đăng nhập trong laravel 8?Nếu bạn muốn chuyển hướng người dùng của mình đến các tuyến khác với tuyến mặc định sau khi họ đăng ký hoặc đăng nhập, bạn chỉ cần thay đổi giá trị của $redirectTo .
Làm cách nào để chuyển hướng đến một 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'); |