Dar una buena acogida.
En este video vamos a agregar autorización a las rutas de comentarios que acabamos de agregar, así que edite
la actualización y destruya la única que use o para poder editar o actualizar realmente algo si ese usuario posee
el comentario tal como lo hicimos para campamentos.
Lo lograremos básicamente con el mismo código en el que tenemos un middleware, creemos que llamamos nuestro control de propiedad del
camping, pero el nuestro se llamará verificar la propiedad del comentario y luego también queremos asegurarnos de que ocultemos y
mostremos esos botones para que no lo hagamos. t mostrarle a un usuario un botón de eliminación en el que
no puede hacer clic.
No tienen permiso para eliminar ese comentario.
Que también es básicamente el mismo código que usamos para comentarios o para campamentos.
Y finalmente, y esto es lo único realmente nuevo es que quiero que refaccionaremos nuestro middleware.
Así que, básicamente, basta con mover todo nuestro middleware a un nuevo archivo y exigir que el archivo comience asegurándose
de que un usuario no pueda acceder a la ruta de edición si no posee ese comentario.
Así que vamos a la ruta en lugar de nuestros comentarios aquí.
Y vamos a Editar.
Queremos un middleware aquí que haga la verificación por nosotros.
Por lo tanto, compruebe la propiedad de los comentarios tal como lo hicimos en el último video o en el último video de
campamento donde verificamos la propiedad del camping y, si echamos un vistazo a ese código, simplemente copiaremos
todo.
Es algo así como ponerlo en la parte inferior con nuestro otro medio, donde cambiaremos ese nombre, comprueba la propiedad
de los comentarios.
Lo primero que debemos hacer es verificar que el usuario inicie sesión es cualquier usuario que haya iniciado sesión.
Si no es solo redirigirlos hacia atrás y mostrar un mensaje que dice "por favor, fírmenlo" o tiene que estar
firmado para hacerlo.
Y ese es un error diferente de no ser el dueño correcto.
Entonces no queremos decir simplemente que no tienes permiso para hacer eso.
Siempre queremos decir que inicie sesión primero y luego si inicia sesión y aún no es el propietario, le
enviaremos un mensaje diferente.
Por ahora no importa porque no tenemos esos mensajes.
Entonces, si ha iniciado sesión, debemos encontrar el comentario sin comentarios antes del viernes.
No es solicitar la solicitud de ID de tranvía arriba comentarios de tranvías Id cambiar esto para ser encontrado comentario.
Si hay un error de redirigir, está bien.
De lo contrario, cambiemos su comentario para hacerlo un poco más claro.
Y sigo diciendo comentarios.
Me refiero a cambiar el comentario de javascript no el modelo de comentario real.
Luego, debemos verificar si el autor del comentario encontrado que ID es igual a solicitar ese ID de usuario.
Así que echemos un vistazo de nuevo al modelo para hacer comentarios.
Recuerde que tenemos un autor y que el autor tiene una identificación y es una mangosta I. RE. Entonces no podemos hacer el triple
igual como con el campamento.
lo estamos comparando con el ID del usuario registrado que está almacenado en el pedido del usuario gracias al pasaporte.
Por lo tanto, si se encuentra un comentario, el ID del autor es igual a ese método especial,
Entonces, si ese es el caso, todo está bien, lo que significa que podemos seguir adelante y ejecutar el controlador de ruta a continuación.
De lo contrario, redirigiré una y otra vez la razón por la que separé todo esto a pesar de que es una redstart redirigir a tres
veces diferentes para que podamos especificar un mensaje de error diferente una vez que lleguemos a eso en unos
pocos videos a partir de ahora.
Así que asegurémonos de que todo lo demás esté bien.
Verifique la propiedad común.
Tenemos eso aquí.
Necesitamos ir a Editar ruta.
Añadimos que en control propiedad del comentario.
Genial, demos una oportunidad y veamos qué pasa.
Bueno.
Entonces, todos deberían poder llegar aquí.
No estoy conectado en este momento, así que si hago clic en él me lleva de vuelta aquí.
Perfecto.
Ahora si me conecto como Sirius Black, quien creó ese comentario y lo intento nuevamente, ahora funciona.
Vamos a agregar algunas cosas de expertos aquí.
Ahora eso no está protegido porque esa es la ruta de actualización.
Así que en realidad solo hacemos exactamente lo mismo y por eso es tan bueno
que lo cambiamos a una función separada porque podríamos tener todo el código aquí mismo y luego duplicarlo para
actualizarlo también.
Aquí.
Y para destruir.
Pero dejémoslo así por ahora.
Asegúrate de que funcione.
Así que, en teoría, de alguna manera podría terminar enviando una solicitud de actualización del cartero o algo así
desde alguna otra aplicación.
Sin embargo, usted sabe que un usuario haría lo que sería muy raro, pero en teoría alguien
podría hacer eso.
Y sin agregar el control de propiedad del comentario para actualizarlo no estaría protegido.
Pero no notaremos nada diferente aquí si lo intento.
El mismo problema si vuelvo a iniciar sesión y puede pasar por alto esto si realmente no le importa verlo.
No es la parte más emocionante de este curso verme iniciar sesión ahora si edito la actualización funciona bien.
Y si hubiera cerrado la sesión en ese momento o si mis datos fueran incorrectos o sucediera
algo extraño, entonces me redireccionaría y eventualmente mostraría un mensaje.
OK, así que eso es actualizar ahora si hago clic en eliminar.
Cuando no estoy conectado,
puedo eliminar ese comentario, que obviamente no es lo que queremos que suceda, así que vamos a solucionarlo.
Vamos a una página que sí tiene comentarios.
Este no tiene uno.
Déjame agregar un comentario una vez más no el más emocionante.
Ah, y escribí un comentario incorrectamente en la contraseña.
Oh querido.
Probemos eso una vez más.
DE ACUERDO.
Vamos a Rocky Mountain.
Añadir un comentario a mí
DE ACUERDO.
Por lo tanto, no quiero que un usuario pueda eliminar esto a menos que haya iniciado sesión.
Es exactamente lo mismo.
Súper fácil para nosotros.
Solo encuentra la ruta de destrucción add o middle Waren y eso es todo lo que necesitamos.
Entonces, si lo intentamos, simplemente te mostré eso actualmente antes de hacer ese cambio.
Cualquiera puede eliminar
Ahora, si actualizo, no estoy conectado, hice clic en eliminar y todavía está allí.
Se niega a eliminar.
El gran gran paso final es mostrar y ocultar estos botones de forma adecuada.
Así que déjame iniciar sesión o registrarte como alguien más.
Firmemos como Dumble puerta a puerta.
La contraseña es también contraseña.
Regístrate.
Vamos a agregar comentarios también.
Ahora dos comentarios diferentes dos autores diferentes.
Si estoy registrado en esta puerta doble, solo quiero ver los botones de eliminar aquí.
Estos deberían estar ocultos para mí, así que hazlo.
Eche un vistazo a cómo lo hizo en la página del programa para eliminar y editar botones de campamento.
Que está aquí mismo.
Esta única línea SI el usuario actual y los datos del autor del camping equivalen a la identificación del usuario actual,
entonces mostramos esto de manera muy similar excepto por algunos cambios.
Primero de los cuales no son campamentos en punto de autor.
Es autor de comentarios y eso se define aquí en nuestro foreach.
para cada campo de campamento comentarios, llámalo comentarios, muestra al autor que muestra el texto y luego verifica si hay un usuario actual.
Entonces, sea lo que sea que esto sea en nuestro caso
Y si la ID de ese usuario actual está aquí, que está almacenada.
Hay muchas piezas en movimiento aquí, pero las revisaré brevemente.
Esto viene de esa línea que agregamos a Abdoulaye arriba que agrega.
¿Dónde estás aquí?
Usuario actual a cada una de nuestras plantillas.
El usuario actual es igual al usuario de la solicitud y solicita a los usuarios que provienen del pasaporte.
Tiene la información del usuario tan actual.
Si hay uno que tenemos que hacer, verifique si hay uno porque si no tenemos esta primera parte y todo
lo que tenemos es esto, si no hay un usuario actual, nos dará un error diciendo que el usuario actual no está definido.
OK tan común que fue el autor de esa identificación.
Lo último que necesitamos es agregar nuestro corchete de cierre o un corchete para la declaración if.
Sin igual.
Entonces, todo esto está incluido en esa declaración if.
Démosle una oportunidad para comenzar.
Si estuviera fresco, me cerraría la sesión y no veríamos botones.
Perfect seinen hará doble puerta.
Regresa a Rocky Mountain High y solo vemos esos botones.
Perfecto.
Asegúrate de que esto aún funcione.
Se ve bien pero aún así se ve bien.
Ahora inicie sesión como Sirius Black.
Ahora esperamos ver los botones y lo hacemos.
Perfecto y también puedo borrar esto ahora.
Vamos a eliminarlo.
Quiero dejar ese campamento porque los campamentos son preciosos.
Necesitamos que esto tome un tiempo para agregar uno nuevo en