Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2013, 21:44
Montes28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Crear restricciones a acciones crud en aplicacion construida con laravel

hola amigos espero me puedan ayudar,

actualmente estoy realizando un blog en el cual los usuarios se registran, se loguean y crean posts, para este fin se trabaja con dos filtros para detectar el estado de la sesión del usuario, uno para cuando hayan iniciado y otro para cuando no lo hayan hecho

en routes.php
Código PHP:
Ver original
  1. //filtro para comprobar si el usuario no ha iniciado sesión, en ese caso
  2. //redirige al login
  3. Route::filter('noAuth', function()
  4. {
  5.     //si no ha iniciado sesión
  6.     if(Auth::guest()){
  7.         return Redirect::to('login');
  8.     }
  9. });
  10.  
  11. //filtro para comprobar si el usuario ha iniciado sesión, en ese caso
  12. //redirige al dashboard
  13. Route::filter('auth', function()
  14. {
  15.     //si ha iniciado sesión
  16.     if(Auth::check()){
  17.         return Redirect::to('dashboard');
  18.     }
  19. });


en la vista con el siguiente codigo solo aparece el CRUD si el usuario que creo el post es igual al que inicio sesion, pero si armo la url puedo ingresar a las acciones(puedo modificar, eliminar registros) y no seria segura la aplicacion.
Código PHP:
Ver original
  1. @foreach($posts as $post)
  2.         <div class="panel radius callout">
  3.             <p>Autor: {{ $post->username }}</p>
  4.              <p>Título: {{ $post->title }}</p>
  5.             <p>Post: {{ $post->body }}</p>
  6.              @if(Auth::check())
  7.         @if(Auth::user()->username == $post->username )
  8.         {{ HTML::link(URL::to('show/'. $post->id ), 'Consultar') }}
  9.             {{ HTML::link(URL::to('delete/'. $post->id ), 'Modificar') }}
  10.             {{ HTML::link(URL::to('delete/'. $post->id ), 'Eliminar') }}
  11.               @endif
  12.             @endif
  13.                 </div>
  14.             @endforeach


necesito que solo el usuario que creo el post lo puede modificar o eliminar.

como puedo lograr esto con laravel?