User roles and permission management via Admin UI (#1231)
This commit is contained in:
@@ -29,10 +29,6 @@ abstract class AbstractVoter extends Voter
|
||||
*/
|
||||
protected $roleManager;
|
||||
|
||||
/**
|
||||
* @param AclDecisionManager $decisionManager
|
||||
* @param RolePermissionManager $roleManager
|
||||
*/
|
||||
public function __construct(AclDecisionManager $decisionManager, RolePermissionManager $roleManager)
|
||||
{
|
||||
$this->decisionManager = $decisionManager;
|
||||
|
||||
@@ -30,13 +30,7 @@ class RolePermissionVoter extends AbstractVoter
|
||||
return false;
|
||||
}
|
||||
|
||||
// and which is not neither a user role like USER_ADMIN
|
||||
// nor an implicit role like IS_REMEMBERED / IS_FULLY_AUTHENTICATED
|
||||
if (strpos($attribute, 'ROLE_') === false && strpos($attribute, 'IS_') === false) {
|
||||
return $this->isRegisteredPermission($attribute);
|
||||
}
|
||||
|
||||
return false;
|
||||
return $this->isRegisteredPermission($attribute);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,12 +47,6 @@ class RolePermissionVoter extends AbstractVoter
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($user->getRoles() as $role) {
|
||||
if ($this->hasPermission($role, $attribute)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return $this->hasRolePermission($user, $attribute);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,15 +82,8 @@ class UserVoter extends AbstractVoter
|
||||
|
||||
return $this->hasRolePermission($user, 'delete_user');
|
||||
|
||||
// used in templates and ProfileController
|
||||
case self::VIEW:
|
||||
case self::EDIT:
|
||||
// always allow the user to edit these own settings
|
||||
if ($subject->getId() === $user->getId()) {
|
||||
return true;
|
||||
}
|
||||
// no break on purpose
|
||||
|
||||
case self::PREFERENCES:
|
||||
case self::PASSWORD:
|
||||
case self::API_TOKEN:
|
||||
|
||||
Reference in New Issue
Block a user