Problem z Simple Access Control [plugin]

Witam,

Zainstalowałem plugin Simple Access Control (stąd: http://github.com/stepheneb/simple_access_control/tree/master). Korzystam z restful_authentication. Problem polega na tym, że plugin SAC po prostu nie działa mi w kontrolerze. Nie pojawiają się żadne błędy. Na początku myślałem, że nie został poprawnie zainstalowany, ale jak się okazało jego helpery do widoków (“restricted_to”) działają bez zarzutu, natomiast “access_rule” w kontrolerze po prostu nie działa. Może czegoś nie rozumiem, ale mam dwie role “client” i “admin”, dwa konta (po jednym do każdej z roli) definiuję w kontrolerze dostęp do wszystkich metod typu:

access_rule 'admin', :only => :destroy access_rule 'client || admin', :only => [:index, :show, :new, :create, :edit, :update]
i niestety to nie działa, tzn. nadal każdy z użytkowników ma dostęp do wszystkich metod. Dodam tylko, że wszelkie tabele, modele, migracje, relacje są ustawione wg “README” pluginu i tak jak mówiłem helper w widoku działa. W czym może być problem i jak go znaleźć? Ewentualnie jaki jest inny (prosty w użyciu!) plugin określający role i działający z restful_authentication?

p.s. Na koniec dodam, że przy wywoływaniu powyższych metod widzę w logu “development.log” zapytanie do tabeli users_roles czyli niby rola danego użytkownika jest sprawdzana, ale dlaczego w takim razie nie działa?

p.s.2. korzystam z Rails 2.3.2

[quote=bauer]Witam,

Ewentualnie jaki jest inny (prosty w użyciu!) plugin określający role i działający z restful_authentication?[/quote]
Jest, nazywa się acl_system2 autorstwa Ezry Zygmuntowicza, plugin działał “od zawsze”, również z 2.3.2, korzystam z niego w obecnym projekcie i nie narzekam).

Dzięki, zastosowałem acl_system2 i działa. Natomiast prawdopodobnie Simple Access Control nie działał, ponieważ zapomniałem o before_filter :login_required . Nie chce mi się tego sprawdzać już, ale prawdopodobnie to było przyczyną. Takie info dla potomnych.

Podepnę się do tematu.

Zrobiłem logowanie zgodnie z raiulscastsem 160 i teraz dodałem acl_system2.

Zrobiłem tabele. Do kontrolera dodałem before_filter :login_required.

I wyrzuca błąd:

undefined method `login_required’ for #LibrariesController:0x6a38fe4

Czy ja musze sam definiować tę metodę?

Pozdrawiam

Jeżeli skorzystasz z pluginu “acts_as_authenticated” lub “restful_authentication” to nie musisz definiować potrzebnych metod, ponieważ są one już gotowe w pluginie. Jeżeli aplikacja wyrzuca Ci powyższy błąd to znaczy, że skoro korzystasz z Authlogic to nie masz w nim zdefiniowanych potrzebnych metod, ale nie znam tego pluginu więc nie wiem tego na pewno. Musisz je sam zdefiniować. acl_system2 potrzebuje w zasadzie current_user (wg opisu na http://github.com/ezmobius/acl_system2/tree/master ).

Korzystam z authlogic i acl_system2.