Tetszőleges action futtatásának tiltása

Korábbi í­rásomban volt szó róla, hogy az AppController-ben létrehozott metódusok (private és protected kivételével) action-ként funkcionál. Ez persze nem túl szerencsés, ha belső használatra szánt függvényekkel bőví­tjük a vezérlőinket. Ekkor segí­thet az alábbi komponens.

Maga a cake is él néhány megszorí­tással: pl nem lehet beforeFilter, beforeRender, paginate, stb. műveletünk. Viszont, mint oly sok más ez is be van égetve a rendszerbe, nem bőví­thető. Ezt a hiányt igyekszik pótolni ez az apró (mellesleg átlalam készí­tett🙂 ) komponens.

Használata egyszerű: kitömörí­teni a zip-et (vendors/restrict_action.php és controllers/components/restrict_actions.php) és felvenni az AppControllerben a $components alá. A további működése már automatikus.

Amit meg kell tenni a működéshez: config/bootstrap.php alá fel kell venni a következőknek megfelelően a tiltásokat

// RestrictAction osztály behúzása
vendor('restrict_action');

// letiltott út esetén hova legyen átirányí­tva a user
// controller, action sorrendben
// ez nem lesz tiltott (a későbbi regisztrálás ellenére sem)
RestrictAction::setRedirectRoute('categories', 'index');

// letiltott controller/action regisztrálás
RestrictAction::register('categories', 'add');

// ez sosem kerül felhasználásra (RedirectRoute)
RestrictAction::register('categories', 'index');

// speciális regisztrálás:
//   'app' controller alatt regisztrált action
//   minden controllerre vonatkozik.
RestrictAction::register('app', 'edit');
Kategória: cakephp, gondolatok, humor, php
Címke: ,
Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s