Laravel登录后找不到所有路线

时间:2015-09-01 10:39:48

标签: php macos laravel laravel-5 laravel-routing

我正在开发laravel项目并且对于公共用户来说,每件事情都没有问题,但是一旦用户登录了所有页面变得无法访问,即使是公共页面也找不到404页面。
如果我删除cookie,公共页面将再次可访问。

这是我的登录功能:

 try{
            if (Auth::validate($userdata)) {
                if (Auth::attempt($userdata)) {
                    // TODO check if is admin Role
                    $user = Auth::user()->getParseUser();
                    if ($user->get('isAdmin'))
                        return Redirect::intended('/');
                    else {
                        Auth::logout(); // logout user
                        return Redirect::back()->with('error', "Access denied");
                    }
                }
            } else {
                // if any error send back with message.
                return Redirect::back()->with('error', 'invalid login parameters ');
            }
        } catch (ParseException  $ex) {
            // if any error send back with message.
            if ($ex->getCode() == 101)
                return Redirect::back()->with('error', 'invalid login parameters');
            else
                return Redirect::back()->with('error', 'Please contact the admin');
        }

路线档案:

Route::get('/', 'PublicController@index');

Route::get('/product/{id}','PublicController@details');

Route::get('login', 'PublicController@login');
Route::post('login', 'PublicController@loginAction');

Route::get('logout', function(){
    Auth::logout(); // logout user
    return Redirect::to('/');
});


Route::delete('product/{id}', ['middleware' => 'auth', 'uses' =>'AnnounceController@destroy']);
Route::delete('product/comment/{id}', ['middleware' => 'auth', 'uses' =>'AnnounceController@destroyComment']);

1 个答案:

答案 0 :(得分:1)

检查PublicController.php文件是否有隐式中间件。

中间件只有两个可能的位置:

  • routes.php文件;
  • 控制器;

你的问题描述指向那个方向。