Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana] Moduł Auth :: Role
Forum PHP.pl > Forum > PHP > Frameworki
Damiankossek
Witam, mam problem z modułem auth, może w zasadzie nie problem ale chciałbym rozwiązać to troszke inaczej bo np. :
  1. <?php defined('SYSPATH') or die('No direct script access.');
  2.  
  3. class Controller_Admin extends Controller_Layout {
  4.  
  5. public $auth_required = array('login','admin'); //Auth is required to access this controller
  6.  
  7.  
  8. function action_index(){
  9. $this->template->content = View::factory('adminindex');
  10.  
  11. }


No i właśnie interesuje mnie $auth_required, ponieważ tworze CMSa to chciałbym aby to było jakoś bardziej elastyczne i była możliwość edycji tego za pomocą odpowiednio stworzonej strony, no i w zasadzie moje pytanie brzmi czy mogę jakimś sposobem wrzucić w zmienną $auth_required tablice z np. innej funkcji ?

Jeżeli tak się nie da to oczywiście mógłbym stworzyć jeszcze inny moduł sprawdzający uprawnienia i stosować go w konstruktorze no ale może macie jakiś pomysł o ile się w ogóle da wrzucić w zmienna $auth_required tablice z innej funkcji/pliku winksmiley.jpg

Chciałbym zaznaczyć że podobne pytanie zadałem w dziale OOP lecz myśle że jednak te pytanie bardziej tutaj pasuje ze względu na to że może ktoś z was ma jakieś ciekawe rozwiązanie do Kohany.
phpion
Możliwe, że to Ci zadziała:
  1. <?php defined('SYSPATH') or die('No direct script access.');
  2.  
  3. class Controller_Admin extends Controller_Layout {
  4.  
  5. public $auth_required = array(); //Auth is required to access this controller
  6.  
  7. public function __construct() {
  8. parent::__construct();
  9.  
  10. $roles = ... // pobierasz tablicę z bazy danych
  11.  
  12. $this->auth_required = $roles;
  13. }
  14.  
  15. function action_index(){
  16. $this->template->content = View::factory('adminindex');
  17.  
  18. }

Zależy w którym miejscu sprawdzane są uprawnienia. Jeżeli w konstruktorze nadrzędnym to musisz przenieść parent::__construct() za $this->auth_required = $roles. Generalnie chodzi o to, że możesz tą tablicę zaktualizować danymi poprzez $this->auth_required = array(...);
Damiankossek
O właśnie o to mi chodziło, tak myślałem nad takim rozwiązaniem ale nie byłem pewien czy będzie działać smile.gif Bo właśnie zależy kiedy sprawdzi mi tą zmienną smile.gif , ale naprowadziłeś mnie właśnie tym parent::__construct() Póżniej pokombinuje i sprawdze smile.gif Dzięki
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.