Skip to content

Commit cb95485

Browse files
committed
Fixed Access permissions for User Update Method - Fixes #44
1 parent 279d9ee commit cb95485

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

app/Authority/Repo/User/SentryUser.php

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,24 @@ public function update($data)
7373
$user->first_name = e($data['firstName']);
7474
$user->last_name = e($data['lastName']);
7575

76-
// Update group memberships
77-
$allGroups = $this->sentry->getGroupProvider()->findAll();
78-
foreach ($allGroups as $group)
76+
// Only Admins should be able to change group memberships.
77+
$operator = $this->sentry->getUser();
78+
if ($operator->hasAccess('admin'))
7979
{
80-
if (isset($data['groups'][$group->id]))
81-
{
82-
//The user should be added to this group
83-
$user->addGroup($group);
84-
} else {
85-
// The user should be removed from this group
86-
$user->removeGroup($group);
87-
}
88-
}
80+
// Update group memberships
81+
$allGroups = $this->sentry->getGroupProvider()->findAll();
82+
foreach ($allGroups as $group)
83+
{
84+
if (isset($data['groups'][$group->id]))
85+
{
86+
//The user should be added to this group
87+
$user->addGroup($group);
88+
} else {
89+
// The user should be removed from this group
90+
$user->removeGroup($group);
91+
}
92+
}
93+
}
8994

9095
// Update the user
9196
if ($user->save())

0 commit comments

Comments
 (0)