Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP]Ograniczenie dostępu, Auth
Forum PHP.pl > Forum > PHP > Frameworki
zephyr7
Mam pytanie: jak wyłączyć dostęp do pewnych obszarów strony zalogowanemu użytkownikowi?

Mam dwóch userów - jeden admin, drugi viewer.

$this->Auth->deny('*'); nie działa sad.gif
kicaj
Jeżeli nie chcesz używać ACL wbudowanego w Cake'a to najlepiej:
1. stwórz zmienna w kontrolerze/ach np. $permission = array() w niej definiuj role do akcji;
2. w app_controller.php stwórz metodę isAuthorized gdzie będziesz sprawdzał czy dany user (jego rola) jest przypisana do danej akcji, jeśli tak do zezwól...

Ma to kilka wad, ale w większości sprawuje się dobrze
MakS
zephyr skoro masz tylko 2 typy użytkowników to użyj Auth componentu i następnie ustawiaj tylko w danych controllerach akcje do których jest dostęp bez logowania, czyli np w controllerze pages dla viewera ma być dostęp do akcji: home i sitemap to ustawiasz:
  1. <?php
  2. class PagesController extends AppController {
  3. var $name = 'Pages';
  4.  
  5. function beforeFilter() {
  6. parent::beforefilter();
  7. $this->Auth->allow('home', 'sitemap');
  8. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.