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.
route[$route, $parameters = [], $status = 302, $headers = []]
5Để thay đổi hành vi mặc định đó, hãy thêm đoạn mã sau vào
route[$route, $parameters = [], $status = 302, $headers = []]
6. 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 đặc điểm
route[$route, $parameters = [], $status = 302, $headers = []]
7 bên trong route[$route, $parameters = [], $status = 302, $headers = []]
8 để 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à route[$route, $parameters = [], $status = 302, $headers = []]
9. 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 route[$route, $parameters = [], $status = 302, $headers = []]
0 hoặc route[$route, $parameters = [], $status = 302, $headers = []]
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
Chuyển hướng là cần thiết khi người dùng truy cập các tuyến đường mà họ không được phép truy cập hoặc cố gắng thực hiện các hành động mà họ không được phép thực hiện
Laravel cung cấp hai cách phổ biến để xử lý chuyển hướng và đưa người dùng đến nơi họ nên đến
Bạn có thể chuyển hướng với trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 hoặc mặt tiền Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
8Trong ảnh này, tất cả các ví dụ sẽ sử dụng trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
9 thay vì mặt tiền. Tuy nhiên, cả hai đều làm điều tương tựroute[$route, $parameters = [], $status = 302, $headers = []]
0
route[$route, $parameters = [], $status = 302, $headers = []]
route[$route, $parameters = [], $status = 302, $headers = []]
0 đi vào đường dẫn được chuyển hướng đến; Bạn cũng có thể chuyển vào một mã trạng thái khác, các tiêu đề khác và thậm chí đặt sử dụng HTTP hay HTTPS
Định nghĩa của phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
2 như sauto[$path, $status = 302, $headers = [], $secure = null]
Đây là một ví dụ về cách chuyển hướng người dùng chưa được xác thực đến trang đăng nhập
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
route[$route, $parameters = [], $status = 302, $headers = []]
3
route[$route, $parameters = [], $status = 302, $headers = []]
route[$route, $parameters = [], $status = 302, $headers = []]
3 giống như phương pháp route[$route, $parameters = [], $status = 302, $headers = []]
2 đã giải thích ở trên. Sự khác biệt duy nhất là nó đi theo một tuyến đường được đặt tên thay vì đường dẫn thôCho rằng các tham số tuyến đường không thể được ghi trong tuyến đường khi sử dụng các tuyến đường được đặt tên, phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
6 chấp nhận một mảng tham số thứ hai có tên là route[$route, $parameters = [], $status = 302, $headers = []]
7 có tất cả các tham số tuyến đường cho tuyến đườngĐịnh nghĩa của phương thức
route[$route, $parameters = [], $status = 302, $headers = []]
6 như sauroute[$route, $parameters = [], $status = 302, $headers = []]
Đây là một ví dụ về cách chuyển hướng đến một bài đăng blog cụ thể
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
6Ví dụ này hoạt động giống như khi chúng ta sử dụng phương pháp
route[$route, $parameters = [], $status = 302, $headers = []]
2, như hình bên dướiRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
8Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
60
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Những lần khác, bạn có thể chỉ muốn đưa người dùng trở lại nơi họ đến.
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
60 tận dụng lợi thế của việc Laravel sử dụng các phiên làm việc và sẽ luôn biết về trang đã xem trước đó của người dùngĐịnh nghĩa của phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
62 như sauRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
2Đây là một ví dụ về cách chuyển hướng trở lại trang trước
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
3Ví dụ này có thể được viết lại để sử dụng một phím tắt, như hình bên dưới
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
4Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
63
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Đôi khi [thường là sau khi xác thực], bạn sẽ muốn chuyển hướng người dùng đến trang tổng quan của họ, thường có tên là
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
64Bạn có thể sử dụng phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
65 để chuyển hướng người dùng đến đường dẫn có tên là Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
64Định nghĩa của phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
65 như sauRoute::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
0Đây là một ví dụ về cách chuyển hướng đến trang chủ
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
1Ví dụ này làm điều tương tự
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
0Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
9
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Không phải lúc nào bạn cũng phải sử dụng các phương pháp
route[$route, $parameters = [], $status = 302, $headers = []]
2 hoặc route[$route, $parameters = [], $status = 302, $headers = []]
6. Bản thân trình trợ giúp Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 có thể được sử dụng làm lối tắtDưới đây là một ví dụ trong đó trình trợ giúp
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
7 được sử dụng để thực hiện chức năng tương tự như ví dụ đầu tiên trong tiêu đề route[$route, $parameters = [], $status = 302, $headers = []]
2Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
1Đặt tuyến đường để luôn chuyển hướng
Khi ứng dụng được cập nhật, bạn có thể muốn thay đổi lộ trình vì người dùng sẽ quen với lộ trình hiện tại và bạn không muốn gặp sự cố
Đây là một ví dụ trong đó đường dẫn
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
84 luôn được chuyển hướng đến đường dẫn Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
85Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
2Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
86
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
Giả sử bạn muốn gửi dữ liệu từ tuyến hiện tại đến tuyến tiếp theo mà bạn muốn chuyển hướng đến
Phương thức
Route::get['/create-post', function [] {
if [!Auth::user[]] {
return redirect[]->to['/login'];
}
}];
87 có thể được kết nối với các phương thức khác để truyền dữ liệu nàyĐiều này đặc biệt hữu ích khi xử lý các biểu mẫu mà bạn muốn quay lại biểu mẫu nhưng có thông báo lỗi hoặc thành công