Tenemos una aplicación que tiene dos tipos de usuarios. Dependiendo de cómo inicie sesión el usuario, queremos que tenga acceso a diferentes partes de la aplicación.
¿Cómo implementamos un modelo de seguridad para evitar que los usuarios vean cosas a las que no tienen acceso?
¿Hacemos de la seguridad parte de la implementación de cada ruta? El problema es que tendremos lógica duplicada en las solicitudes. Podríamos mover esto a funciones auxiliares, pero aún tendríamos que recordar llamarlo.
¿Hacemos que la seguridad sea parte de un controlador de ruta global app.all ()? El problema es que tenemos que inspeccionar cada ruta y hacer una lógica diferente basada en una multitud de reglas. Al menos todo el código está en un solo lugar, pero luego ... todo el código está en un solo lugar.