MASTER_4073-user_hasGrant #1107
No reviewers
Labels
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix#1107
Loading…
Reference in New Issue
No description provided.
Delete Branch "4073-user-hasGrant-master"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -49,3 +54,2 @@
const role = await models.Role.findById(roleFk, null, myOptions);
const hasRole = await models.Account.hasRole(userId, role.name, myOptions);
if (!hasRole)
La comprovació de si hereda el rol (
hasRole
), en cas de no pasar rol, s'ha de fer sobre en el rol que te actualmentuserToUpdate
. Si no, qualsevol usuari amb grant podría donar grant als demes usuaris independentment del rol que tinguen.Es a dir, nomes pots asignar grant a un usuari, si tens grant, i si heretes el rol sobre el que vas a asignar grant.
@ -1 +1,4 @@
ALTER TABLE `account`.`user` ADD hasGrant TINYINT(1) NOT NULL;
INSERT INTO `salix`.`ACL` (model, property, accessType, permission, principalType, principalId)
VALUES('Account', 'privileges', '*', 'ALLOW', 'ROLE', '$authenticated');
No definir-ho ací, definir-ho com a ACL estatic en el fitxer del model Account.json, secció
acls
.https://gitea.verdnatura.es/verdnatura/salix/src/branch/dev/back/models/account.json
@ -1,2 +1,2 @@
Privileges: Privilegios
Has grant: Tiene privilegios
Has grant: Puede dar privilegios
Puede delegar privilegios
@ -52,3 +64,2 @@
if (!hasRole)
throw new UserError(`You don't have enough privileges`);
if (!hasRole || !hasRoleFromUser)
Açò ha de ferse fora del
if (!hasRole)