bonjour ,
j'ai quelques hésitations concernant l'ajax et le restful et je trouve pas vraiment de réponse dans la doc.
Pour l'ajax , imaginons j'ai un système dans ce style ( y'a peut-être des erreurs de syntaxe c'est pour l'exemple ) :
pour les routes :
Route::get('/' , PostController@index
);
Route::delete('/delete/{id}',['uses'=>'PostsController@destroy,'before'=>'csrf|admin']);
et que dans ma vue index j'ai un formulaire de ce genre
{{ Form::open(['url'=>'delete/'.$post->id']) }}
{{ Form::token() }}
{{ Form::submit('Supprimer')
{{ Form::close() }}
et que avec ce formulaire je fais un requête ajax en delete , est-ce que automatiquement laravel vérifie la session pour l'admin et le csrf ? parce que en testant en local j'ai l'impression que je peux appeler la méthode delete sans être auth .
Et concernant Restful je trouve pas la bonné méthode pour le filtre , est-ce que je dois le faire dans les filtres ?
du style
Route::resource('Post','PostsController',['before'=>'admin']);
et là je suis bloqué car je ne sais pas comment dire sur quelle méthode je veux que le filtre s'applique.
Ou est-ce que je dois plutôt mettre les filters dans le construct mais du coup j'ai plus une vision globale depuis mes routes .
Merci d'avance ça fait beaucoup de questions
Oui tu peux faire t'es filtres dans le filters.php (en ce qui concerne le admin, pour bien verifier que l'utilisateur à les droits)
exemple:
Route::filter('admin', function()
{
if (!Auth::user() && Auth::user()->type != 9){
return Redirect::to('/');
die();
}
});
Après si tu veux n'appliquer ton filter que sur une méthode
Route::delete('/delete/{id}', 'PostsController@destroy', array('before' => 'admin'));
Ou alors une autre façons de faire mais côté controller:
public function destroy($id){
$this->isAdmin();
//ton code....
}
public function isAdmin(){
if(!Auth::user() && Auth::user()->type !=9)
return Redirect::to('/');
die();
}
oui j'ai compris comment ça fonctionne ma question précise est : est-ce que dans une requête ajax il passe la variable Session pour vérifier que l'utilisateur est auth
et pour les filtres ma question est est-ce on peut préciser dans les options d'un Route::resource les méthodes qu'on veut filtrer
Merci , c'était bien ma question pour les filtres , je savais pas si ça appliquait au requête ajax ,
et pour check l'auth justement je me demandais si il y avait un moyen sans définir manuellement les routes , parce que on perd un des interêts de rest qui est de gagner du temps