security reactjs server client

security - ¿Cómo puedo asegurar que los roles pasen para reaccionar?



reactjs server (1)

¿Qué le impide a alguien abrir herramientas de desarrollo en el navegador y establecer un punto de interrupción y agregar ''ALLOW_Z'' a esa matriz?

Nada.

Una vez que su javascript / data ha salido de su servidor, debe asumir que está contaminado y modificado por el usuario.

TODAS las operaciones de autenticación deben realizarse en el servidor.

Normalmente mantendrías una clave de sesión con el servidor y verificarías que la clave de sesión (también conocida como token) sigue siendo válida.

Editar:
No debería importar si los usuarios ven "secciones administrativas especiales", ya que no funcionaría toda su funcionalidad (todas las llamadas a la API del servidor fallarían, por lo que el usuario no puede eliminar, editar ni crear ningún dato)

Tengo una pregunta sobre cómo pasar los datos de roles para reaccionar. Puedo pasar del servidor a través de var global, o hacer una llamada API de reposo desde el cliente, pero de cualquier manera obtengo una serie de permisos para un usuario. Como ejemplo:

Permissions: [''ALLOW_X'', ''ALLOW_Y'']

¿Qué le impide a alguien abrir herramientas de desarrollo en el navegador y establecer un punto de interrupción y agregar ''ALLOW_Z'' a esa matriz?

¿Hay una buena manera de pasar los datos al lado del cliente y que sean resistentes a las alteraciones (al menos)? Sé que puedo volver a verificar los permisos en el servidor para evitar guardar algo, pero ¿qué pasa con los elementos de interfaz de usuario de nivel de administrador que los usuarios normales no deberían poder ver? ¿Estoy limitado a poner todo eso en una página separada y simplemente bloquear la ruta por rol?

Parece que me estoy perdiendo algo aquí. ¿Pensamientos? Gracias, Jeff