Estoy debatiendo la mejor manera de propagar permisos bastante complejos del servidor a una aplicación AJAX, y no estoy seguro de cuál es el mejor enfoque para tomar.Propagar permisos a Javascript
Básicamente, quiero que se definan mis permisos para poder solicitar un conjunto completo de permisos en una toma y ajustar la UI según corresponda (los cambios en la UI pueden ser tan bajos como deshabilitar ciertos elementos del menú contextual). Por supuesto, todavía necesito hacer cumplir el lado del servidor de permisos.
Por lo tanto, me preguntaba si alguien tiene alguna sugerencia de la mejor manera a
- mantener los permisos y utilizarlos en el código del servidor
- tener fácil acceso a los permisos en javascript
- no tienen para hacer una solicitud de ida y vuelta al servidor para cada permiso individual
¿Pensamientos?
Si almacena información de permisos en un objeto JS global, ¿no tiene el usuario la capacidad de editar/cambiar el objeto JS de la máquina cliente? –
Los permisos se almacenan en JS estrictamente para la manipulación de la UI, no para el acceso real a los datos, por ejemplo, ocultar el acceso a la pestaña X o mostrar la columna Y, etc. – jvenema
Por lo que vale, terminé con algo como esto: var MyApp. canRead = function (entity, property) {... lee el literal JS Object rendido desde el servidor para determinar el acceso de lectura a la entidad especificada ...} ;. Los permisos se definen en una tabla en el servidor y se procesan para que el cliente acceda a ellos a través de la función canRead(). – jvenema