Databázové ACL, uživatelé, authentizace a autorizace
Nastavení v config.neon
extensions:
securityExt: NAttreid\Security\DI\SecurityExtension
dostupné nastavení
securityExt:
namespace: 'user'
authenticator:
front: App\FrontAuthenticator
A přidat do orm model. V příkladu je extension orm pod názvem orm
orm:
add:
- NAttreid\Security\Model\Orm
class FrontAuthenticator implements \NAttreid\Security\Authenticator\IAuthenticator {
public function authenticate(array $credentials): Identity {
// php code
}
public function getIdentity(int $userId): Identity {
// php code
}
}
Komponenta pro dočasnou změnu identity uživatele
V BasePresenteru přidejte komponentu
/** @inject */
public $tryUserFactory;
protected function startup()
{
parent::startup();
$this['tryUser']->init();
}
protected function createComponentTryUser()
{
$control = $this->tryUserFactory->create(":Link:Nekam:");
$control->permission = 'nazev.prav.pro.komponentu';
return $control;
}