2015-08-20 44 views
11

tôi đang sử dụng laravel 5.1.8. Tôi đang tạo hệ thống đăng nhập/đăng ký. tôi đã tạo một bộ điều khiển có tên AdminController và bảo vệ nó bằng phần mềm trung gian.chuyển hướng laravel nếu đăng nhập

nhưng tôi đang sử dụng AuthController mặc định của Laravel mà các phương thức và lớp học được đặt ở các vị trí khác nhau. các tuyến đường là:

Route::Controllers([ 
    'auth' => 'Auth\AuthController', 
    'password' => 'Auth\PasswordController' 
]); 

get('admin', '[email protected]'); 
get('profile', '[email protected]'); 
get('article', '[email protected]'); 

người dùng không thể truy cập AdminController mà không đăng nhập. nhưng tôi muốn, nếu người dùng đã đăng nhập đã nhập địa chỉ trang đăng nhập hoặc đăng ký trên thanh địa chỉ của trình duyệt, trang sẽ được chuyển hướng đến AdminController.

khi tôi cố gắng thực hiện việc này, tìm kiếm '/ home' và đưa ra lỗi. tôi muốn làm cho nó '/ admin'.

Trả lời

23

đi đến App\Http\Middleware\RedirectIfAuthenticated sau đó thay đổi nó từ

public function handle($request, Closure $next) 
{ 
    if ($this->auth->check()) { 
     return redirect('/home'); 
    } 

    return $next($request); 
} 

để

public function handle($request, Closure $next) 
{ 
    if ($this->auth->check()) { 
     return redirect('/admin'); 
    } 

    return $next($request); 
} 
2

Thêm phần này vào AuthController của bạn:

protected $redirectTo = '/admin'; 

này cho tất cả các phương pháp chuyển hướng trong khác nhau đặc điểm để chuyển hướng t thay vì đến /home.

0

khi người dùng được xác thực thành công, họ sẽ được chuyển hướng đến URI/home, mà bạn sẽ cần phải đăng ký tuyến đường để xử lý. Bạn có thể tùy chỉnh vị trí chuyển hướng hậu xác thực bằng cách xác định thuộc tính redirectPath trên AuthController:

protected $ redirectPath = '/ dashboard';

+0

tạo trang tổng quan tuyến đường – santoshvijaypawar

Các vấn đề liên quan