Laravel重定向登录,主URL

时间:2017-10-26 18:17:18

标签: php laravel url redirect main

我配置了Laravel auth系统并且它可以工作。当用户登录时,他被重定向到他的仪表板。但是当它关​​闭页面或修改主URL www.xyz.com时,它不会重定向到仪表板。如何在用户登录并访问主URL时将用户重定向到他的仪表板?

LoginController.php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
use Illuminate\Http\Request;

class LoginController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/iboard';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest', ['except' => ['logout', 'userLogout']]);
    }

    /**
    * Get the needed authorization credentials from the request.
    *
    * @param  \Illuminate\Http\Request  $request
    * @return array
    */
   protected function credentials(Request $request)
   {
       $field = filter_var($request->get($this->username()), FILTER_VALIDATE_EMAIL)
           ? $this->username()
           : 'username';

       return [
           $field => $request->get($this->username()),
           'password' => $request->password,
       ];
   }

    public function userLogout()
    {
        Auth::guard('web')->logout();
        return redirect('/logout');
    }
}

2 个答案:

答案 0 :(得分:0)

这是一个简单的解决方案,当用户访问www.xyz.com页面时,您可以使用

检查用户是否已登录
use Illuminate\Support\Facades\Auth;
if (Auth::check()) {
 //Executes when user is logged in
  return redirect('dashboard');
}

上面的代码检查用户是否已登录,如果他被重定向,否则他将无法重定向并仍然在www.xyz.com上。

希望这个答案有所帮助。

以下是laravel auth可以做的一些很酷的事情: - https://laravel.com/docs/5.5/authentication

答案 1 :(得分:0)

只需在用户访问root时重定向用户,例如您可以将其添加到您的web.php(如果版本< = 5.2,则为routes.php)

Route::get('/', function () {
 return redirect('dashboard');
});
相关问题