Don't force role of user if no ldap groups defined
We should not force role of user on LDAP logins if there are not Manager/Admin groups defined, return null to get the one from database as before.
This commit is contained in:
@@ -121,15 +121,14 @@ class User
|
|||||||
*/
|
*/
|
||||||
protected function getRole(array $groupIds)
|
protected function getRole(array $groupIds)
|
||||||
{
|
{
|
||||||
$role = Role::APP_USER;
|
|
||||||
|
|
||||||
if (! $this->hasGroupsConfigured()) {
|
if (! $this->hasGroupsConfigured()) {
|
||||||
if (LDAP_USER_DEFAULT_ROLE_MANAGER) {
|
return null;
|
||||||
$role = Role::APP_MANAGER;
|
}
|
||||||
} else {
|
|
||||||
$role = Role::APP_USER;
|
if (LDAP_USER_DEFAULT_ROLE_MANAGER) {
|
||||||
}
|
$role = Role::APP_MANAGER;
|
||||||
return $role;
|
} else {
|
||||||
|
$role = Role::APP_USER;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($groupIds as $groupId) {
|
foreach ($groupIds as $groupId) {
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ class LdapUserTest extends Base
|
|||||||
$this->assertEquals('my_ldap_user', $user->getUsername());
|
$this->assertEquals('my_ldap_user', $user->getUsername());
|
||||||
$this->assertEquals('My LDAP user', $user->getName());
|
$this->assertEquals('My LDAP user', $user->getName());
|
||||||
$this->assertEquals('user1@localhost', $user->getEmail());
|
$this->assertEquals('user1@localhost', $user->getEmail());
|
||||||
$this->assertEquals(Role::APP_USER, $user->getRole());
|
$this->assertEquals(null, $user->getRole());
|
||||||
$this->assertSame('', $user->getPhoto());
|
$this->assertSame('', $user->getPhoto());
|
||||||
$this->assertEquals(array(), $user->getExternalGroupIds());
|
$this->assertEquals(array(), $user->getExternalGroupIds());
|
||||||
$this->assertEquals(array('is_ldap_user' => 1), $user->getExtraAttributes());
|
$this->assertEquals(array('is_ldap_user' => 1), $user->getExtraAttributes());
|
||||||
|
|||||||
Reference in New Issue
Block a user