Me gustaría preguntar qué flujo de autorización se considera mejor o estándar.
Primer enfoque (el rol Y la afirmación son válidos):
if (!isGranted(roles, permission) {
return false;
}
if (hasAssertion(permission)) {
return assert(getAssertion(permission), context);
}
return true;
Segundo enfoque (tiene un rol o una afirmación válida)
if (isGranted(roles, permission) {
return true;
}
if (hasAssertion(permission)) {
return assert(getAssertion(permission), context);
}
return false;
Editar: estoy diseñando la aplicación de chat, con usuarios que tienen diferentes permisos en diferentes salas de chat.