Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP] Auth i komunikaty
Forum PHP.pl > Forum > PHP > Frameworki
kicaj
Korzystajac z $this->Auth->authError = 'Musisz sie zalgowac!'; wyswietla nam sie wiadomosc jesli chcemy dostac sie do strefy wymaganej zalogowania, jezeli zas jestesmy zalogowani, a chcemy dostac sie do strefy wymaganej wiekszych uprawnien (ACL), to jak ustawic komentarz aby powiadamial uzytkownikow, ze "Strefa wymaga wiekszych uprawnien niz posiadasz"?
kicaj
$loginError stosujemy przy logowaniu, swiadczy o powodzeniu
$authError stosujemy gdy User probuje dostac sie do stron wymaganych zalogowania

Chodzi mi o cos w tym stylu (tylko bardziej profesjonalnie):
  1. <?php
  2. if(!$this->Acl->check($this->Auth->user('username'), 'NAZWA_KONTROLERA', 'PRAWA')) {
  3.    $this->Session->setFlash('Brak uprawnien!');
  4.    $this->redirect('/');
  5. }
  6. ?>

Ale nie wiem czy do konca to jest to co chcialem...
Moze w AppController:beforeFilter();?
Rafal Filipek
Cytat
$loginError stosujemy przy logowaniu, swiadczy o powodzeniu
$authError stosujemy gdy User probuje dostac sie do stron wymaganych zalogowania

moze ja cos zle rozumiem ale w api przeciez jest napisane:

$loginError - Error to display when user login fails.

$authError - Error to display when user attempts to access an object or action to which they do not have acccess.
kicaj
$loginError oboje piszemy o tym samym: jest to komunikat ktory jest wyswietlany przy niepowodzeniu przy logowaniu
$authError jest to komunikat o tym ze probujemy "wejsc" na strone, na ktrorej wymagane jest logowanie.

A mi chodzi jak wyswietlic komunikat, jezeli jestem juz zalogowany ale nie mam uprawnien (ACL: jestem User a powinienem byc Admin).
Przyklad: jestem zalogowanym uzytkownikiem, ale probuje wejsc w innego uzytkownika i wprowadzic w nim zmiany, wtedy powinienem dostac komunikat ze strona wymaga praw Admina

Juz jasniej sie nie da chyba:p
Rafal Filipek
to sie nie dogadalismy smile.gif myslalem ze nie wiesz z czego skorzystać smile.gif naturalnie że możesz wykorzystać beforeFilter
Kod
function beforeFilter(){
    parent::beforeFilter();
    $this->Auth->authError = sprintf(__('Nie ma  bata. Lokalizacja : %s .',true),$this->name.'-'.$this->params['action']);
}
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.