1

laravel 4で職人ルートを実行すると

auth/login/{v1}/{v2}/{v3}/{v4}/{v5}

これは正常ですか、それとも何か問題がありますか。私のルートは、バグか何かがあるのではないかと思っているだけです。以下は認証のための私のルートです。認証に安らかなルートを使用しています。

Route::controller('auth','AuthController');

Route::get('AuthController/login', array('as' => 'login', 'uses' => 'AuthController@login'));
Route::get('auth/logout', array('as' => 'logout', 'uses' => 'auth@logout'));
Route::post('auth/login', array('uses' => 'auth@login'));
4

2 に答える 2

0

2つの改善をお勧めします:

1 - URI の標準を維持する

この場合、Route::controller は必要ありません。すべてのルートを同じ構造に維持するには、次のようにします。

Route::group( array('prefix'=>'auth,function(){   //make all auth routes starting by auth
    Route::get('getLogin', array('as' => 'getLogin', 'uses' => 'AuthController@getLogin'));
    Route::get('getLogin', array('as' => 'logout', 'uses' => 'AuthController@logout'));
    Route::post('postLogin', array('as' => 'postLogin', 'uses' => 'AuthController@postLogin'));
});

グループを使用する必要はありませんが、アプリが成長する場合は改善される可能性があります。グループ コードなしでは次のようになります。

Route::get('auth/getLogin', array('as' => 'getLogin', 'uses' => 'AuthController@getLogin'));
Route::get('auth/getLogin', array('as' => 'logout', 'uses' => 'AuthController@logout'));
Route::post('auth/postLogin', array('as' => 'postLogin', 'uses' => 'AuthController@postLogin'));

2 - 投稿ルートを保護する

すべての post および put リクエストに対して、次のような CSRF 攻撃を防ぐ必要があります。

Route::post('postLogin',array('before' => 'csrf','uses'=>AuthController@postLogin) );
于 2013-06-05T06:13:16.253 に答える