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//filtro para comprobar si el usuario no ha iniciado sesión, en ese caso
//redirige al login
Route::filter('noAuth', function()
{
//si no ha iniciado sesión
if(Auth::guest()){
return Redirect::to('login');
}
});
//filtro para comprobar si el usuario ha iniciado sesión, en ese caso
//redirige al dashboard
Route::filter('auth', function()
{
//si ha iniciado sesión
if(Auth::check()){
return Redirect::to('dashboard');
}
});
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@foreach($posts as $post)
<div class="panel radius callout">
<p>Autor: {{ $post->username }}</p>
<p>Título: {{ $post->title }}</p>
<p>Post: {{ $post->body }}</p>
@if(Auth::check())
@if(Auth::user()->username == $post->username )
{{ HTML
::link(URL
::to('show/'. $post->id ), 'Consultar') }} {{ HTML
::link(URL
::to('delete/'. $post->id ), 'Modificar') }} {{ HTML
::link(URL
::to('delete/'. $post->id ), 'Eliminar') }} @endif
@endif
</div>
@endforeach
necesito que solo el usuario que creo el post lo puede modificar o eliminar. como puedo lograr esto con laravel?