1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/kanboard_ynh.git synced 2024-09-03 19:36:17 +02:00
kanboard_ynh/sources/app/User/ReverseProxyUserProvider.php
2015-12-29 01:24:09 +01:00

147 lines
2.4 KiB
PHP

<?php
namespace Kanboard\User;
use Kanboard\Core\User\UserProviderInterface;
use Kanboard\Core\Security\Role;
/**
* Reverse Proxy User Provider
*
* @package user
* @author Frederic Guillot
*/
class ReverseProxyUserProvider implements UserProviderInterface
{
/**
* Username
*
* @access private
* @var string
*/
private $username = '';
/**
* Constructor
*
* @access public
* @param string $username
*/
public function __construct($username)
{
$this->username = $username;
}
/**
* Return true to allow automatic user creation
*
* @access public
* @return boolean
*/
public function isUserCreationAllowed()
{
return true;
}
/**
* Get internal id
*
* @access public
* @return string
*/
public function getInternalId()
{
return '';
}
/**
* Get external id column name
*
* @access public
* @return string
*/
public function getExternalIdColumn()
{
return 'username';
}
/**
* Get external id
*
* @access public
* @return string
*/
public function getExternalId()
{
return $this->username;
}
/**
* Get user role
*
* @access public
* @return string
*/
public function getRole()
{
return REVERSE_PROXY_DEFAULT_ADMIN === $this->username ? Role::APP_ADMIN : Role::APP_USER;
}
/**
* Get username
*
* @access public
* @return string
*/
public function getUsername()
{
return $this->username;
}
/**
* Get full name
*
* @access public
* @return string
*/
public function getName()
{
return '';
}
/**
* Get user email
*
* @access public
* @return string
*/
public function getEmail()
{
return REVERSE_PROXY_DEFAULT_DOMAIN !== '' ? $this->username.'@'.REVERSE_PROXY_DEFAULT_DOMAIN : '';
}
/**
* Get external group ids
*
* @access public
* @return array
*/
public function getExternalGroupIds()
{
return array();
}
/**
* Get extra user attributes
*
* @access public
* @return array
*/
public function getExtraAttributes()
{
return array(
'is_ldap_user' => 1,
'disable_login_form' => 1,
);
}
}