Al definir reglas en CASL, puede indicar las habilidades de un usuario para qué sujeto (modelo) en función de los atributos del sujeto.
En el siguiente ejemplo de los documentos , está definiendo que el usuario puede leer un artículo si su 'atributo' published
es false
.
Me gustaría saber si también puedo agregar atributos de usuario en las condiciones, por lo que, por ejemplo, solo puede leer un artículo si está published === false && user.is_active === true
.
El ejemplo de los documentos a continuación muestra que esto se hace con una declaración if antes de definir las reglas (obviamente, no es una característica de CASL, solo javascript estándar condicional).
¿Se puede hacer esto en la regla de alguna manera, en la llamada a la función can
, como digamos un parámetro pasado?
CASL declara...
CASL implementa control de acceso basado en atributos
Y creo que ABAC se basa en atributos distintos al Objeto al que se accede. Como atributos para el Usuario o Entorno. Ver aquí y aquí .