laravel重定向,如果登录

sma*_*hat 16 php authentication redirect laravel-5.1

我正在使用laravel 5.1.8.我正在建立登录/注册系统.我创建了一个名为AdminController的控制器,并用中间件保护它.

但我使用的是laravel的默认AuthController,其方法和类位于不同的位置.路线是:

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

get('admin', 'AdminController@index');
get('profile', 'AdminController@profile');
get('article', 'AdminController@article');
Run Code Online (Sandbox Code Playgroud)

用户无法登录时无法访问AdminController.它会重定向到登录页面.但我想,如果登录用户在浏览器的地址栏上键入登录页面的地址或注册,该页面将重定向到AdminController.

当我尝试这样做时,它会寻找'/ home'并给出错误.我想把它变成'/ admin'.

mda*_*mia 42

App\Http\Middleware\RedirectIfAuthenticated 然后去 改变它

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

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

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

    return $next($request);
}
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记实现中间件,例如:`Route::get('/', function() { return view('welcome'); })->middleware('guest');` (3认同)

Bro*_*ary 5

将此添加到您的AuthController

protected $redirectTo = '/admin';
Run Code Online (Sandbox Code Playgroud)

这就告诉各种特征中的所有重定向方法都在那里重定向而不是/home