ACL – přístup do sekce bez přihlášení
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ladis-s
- Člen | 53
Používám nastavení ACL z návodu v tutorialu. Potřeboval bych aby na
jednu akci z presenteru Newsletter (konkrétně akce ‚dokoncit‘) měl
přístup i host. Resp. cron, který bude automaticky spouštěn.
Díky za radu
<?php
// roles
$this->addRole('host');
$this->addRole('uzivatel', 'host');
$this->addRole('admin', 'uzivatel');
// resources
$this->addResource('UvodniPresenter');
$this->addResource('AdresyPresenter');
$this->addResource('NewsletterPresenter');
// privileges
$this->allow('admin', 'UvodniPresenter', NPermission::ALL);
$this->allow('admin', 'AdresyPresenter', NPermission::ALL);
$this->allow('admin', 'NewsletterPresenter', NPermission::ALL);
?>
- nanuqcz
- Člen | 822
Nepřihlášený uživatel má v Nette automaticky roli guest
(pozor, je tam na začátku G, ne Q). Takže
<?php
// roles
$this->addRole('guest'); //zde je změna
$this->addRole('uzivatel', 'guest'); //zde je změna
$this->addRole('admin', 'uzivatel');
// resources
$this->addResource('UvodniPresenter');
$this->addResource('AdresyPresenter');
$this->addResource('NewsletterPresenter');
// privileges
$this->allow('guest', 'NewsletterPresenter', 'dokoncit'); //a tohle tam přidat, viz to co psal gmvasek
$this->allow('admin', 'UvodniPresenter', NPermission::ALL);
$this->allow('admin', 'AdresyPresenter', NPermission::ALL);
$this->allow('admin', 'NewsletterPresenter', NPermission::ALL);
?>
- Ladis-s
- Člen | 53
Nějak to pořád nechodí. Zkoušel jsem to konkrétně na akci
„dokoncit“ i na všechny akce. Vždy mě to přesměruje na stránku
s přihlášením.
Kde by ještě mohl být problém?
Díky
<?php
$this->addRole('guest');
$this->addRole('uzivatel', 'guest');
$this->addRole('admin', 'uzivatel');
// resources
$this->addResource('UvodniPresenter');
$this->addResource('AdresyPresenter');
$this->addResource('NewsletterPresenter');
// privileges
$this->allow('guest', 'NewsletterPresenter', NPermission::ALL);
$this->allow('admin', 'UvodniPresenter', NPermission::ALL);
$this->allow('admin', 'AdresyPresenter', NPermission::ALL);
$this->allow('admin', 'NewsletterPresenter', NPermission::ALL);
?>
- Jan Tvrdík
- Nette guru | 2595
Ladis-s wrote:
Vždy mě to přesměruje na stránku s přihlášením.
Jak vypadá ten kód, který vyvolá přesměrování?