Přidání role v presenteru

r2294743
Člen | 16
+
0
-

Zdravím tu všechny,
mám vytvoření AuthorizatorFactory, který mi funguje v pořádku. Řeším ale problém, kdy potřebuji v presenteru vytvořit novou roli a zdroj. Všechny moje pokusy dopadli neúspěšně – vždy při zavolání metody isAllowed mi hodí false.

Všem předem děkuji za pomoc

presenter

class FooPresenter extends BasePresenter
{
    private $authorization;


    /**
     * Foo constructor.
     *
     * @param AuthorizatorFactory  $authorization
     */
    public function __construct(AuthorizatorFactory $authorization)
    {
        $this->authorization = $authorization;
    }

    function renderDefault(){
    }
}

AuthorizatorFactory

class AuthorizatorFactory
{
    public function create()
    {
        $permission = new Permission;

        $permission->addRole('member');
        $permission->addRole('admin', 'member');

        $permission->addResource('Admin:Settings');
        $permission->addResource("Admin:Vote");

        $permission->allow('member',"Admin:Vote");

        $permission->allow('admin',"Admin:Settings");


        return $permission;
    }
}

Editoval r2294743 (6. 3. 2018 3:06)

CZechBoY
Člen | 3608
+
0
-

Budes si muset ukladat autorizacni data do nejakyho zapisovatelnyho uloziste (databaze, soubor, …).
V AuthorizationFactory data vyberes a naopak pri odeslani formulare data zapises.