Adquiere este curso para tener acceso a todas las lecciones
Comprar curso103. Agregar políticas de acceso
2 comentarios
Inicia sesión para comentar
Comentarios:
-
Pedro Bastidas hace 1 año
Una pregunta es posible que en lugar de mostrar el mensaje de no autorizado, redirigir al usuario a otra pagina ? por ejemplo al inicio ? lo intente hacer pero la policy retorna como true
-
Victor Arana Flores hace 1 año
Hola Pedro, en ese caso deberías trabajar con un middleware.
Los middleware te permiten intersectar una peticcion HTTP, y dependiendo de si cumple una acción permitirle el paso o redirigirlo hacia otra ruta.
Por si te preguntas cuando usar uno y cuando usar otro. Middleware usalo cuando necesitas redirigir al usuario a otro lado cuando no cumpla una condición. Mientras que los policies y gates aparte de inpedir el paso, te sirve para ocultar alguna sección de tu pagina. POr ejemplo postrar un enlace que te dirija al panel administrador, solo si es que eres administrador. -
Pedro Bastidas hace 1 año
gracias master
-
-
Xavier Montalvo hace 1 año
Creo que en la segunda policy estas mal. Debería prohibirte el paso en caso de que el status sea igual a ‘2’ ya que seria ilógico volver a pagar algo que ya fue pagado y caso contrario (en caso de que este en status ‘1’) debería permitirte el paso. Corrígeme si me equivoco por favor Victor.
Saludos.
-
Xavier Montalvo hace 1 año
public function payment(User $user, Order $order){ if ($order->status == 2) { return false; }else{ return true; } }
-
Victor Arana Flores hace 1 año
Hola Xavier, la verdad no tengo fresco el tema ya que lo grabe hace mucho. Pero en todo caso, si hay algun error este se soluciona en el curso :D
-
Jheyner David Ibagon hace 1 año
Hola, en la policy lo deje asi siendo Order::PENDING estado 1.
public function payment(User $user, Order $order){ if ($user->id == $order->user_id && $order->status == Order::PENDING) { return true; } else { return false; } }
-