【问题标题】:laravel 5 : Routes Authentication errorlaravel 5:路由身份验证错误
【发布时间】:2015-07-30 21:33:35
【问题描述】:

我想保护索引页不被直接访问。并且还想限制对/ 的直接访问。

问题是当我输入正确的登录凭据时,它会抛出错误MethodNotAllowedHttpException in RouteCollection.php line 201:。 当我输入错误的登录凭据时也会出现该错误。

我的 routes.php 代码是

Route::get('index', array(
'before' => 'auth',
function(){
    return view('login');
}));
Route::get('/login', function(){
    return view('login');
});
Route::post('/login',function(){
    $cred = Input::only('username','password');
    if(Auth::attempt($cred)){
        return Redirect::intended('index');
    };
    return Redirect::to('/login');
});
Route::get('/logout', function(){
    Auth::logout();
    return view('logout');
});
Route::get('/register', function(){
    return view('register');
});
Route::post('/register',function(){

    $user = new \App\User;
    $user->username = input::get('username');
    $user->email  = input::get('email');
    $user->password = Hash::make(input::get('username'));
    $user->designation = input::get('designation');
    $user->save();
    $theEmail = Input::get('username');
    return view('thanks')->with('theEmail',$theEmail);

});

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    在 laravel 5 中,

    ['before' => 'auth']
    

    已弃用。但是,您应该使用

    ['middleware' => 'auth']
    

    For more information about middleware in laravel click here

    【讨论】:

    • 好的,感谢您的回复,但我认为我这里有一个错误。 Route::post('/login',function(){
    【解决方案2】:

    MethodNotAllowedHttpException 在您从表单发布到 get 路由时出现,反之亦然。您能否检查一下您的登录表单的方法是否设置为 POST。

    【讨论】:

      猜你喜欢
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2016-02-05
      • 1970-01-01
      • 2013-05-16
      • 2015-04-25
      • 1970-01-01
      相关资源
      最近更新 更多