Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana] Moduł Auth :: Role
Damiankossek
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 8
Dołączył: 10.12.2009

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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(...);
Go to the top of the page
+Quote Post
Damiankossek
post
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 8
Dołączył: 10.12.2009

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/smile.gif) Bo właśnie zależy kiedy sprawdzi mi tą zmienną (IMG:style_emoticons/default/smile.gif) , ale naprowadziłeś mnie właśnie tym parent::__construct() Póżniej pokombinuje i sprawdze (IMG:style_emoticons/default/smile.gif) Dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:34