Dostęp do current_user z modelu w Ruby on Rails
Muszę zaimplementować precyzyjną kontrolę dostępu w aplikacji Ruby on Rails. Uprawnienia dla poszczególnych użytkowników są zapisywane w tabeli bazy danych i pomyślałem, że najlepiej byłoby pozwolić odpowiedniemu zasobowi (tj. Instancji modelu) zdecydować, czy dany użytkownik może odczytywać lub zapisywać go. Podejmowanie tej decyzji w kontrolerze za każdym razem z pewnością nie byłoby bardzo OSUSZONE.
Problem polega na tym, że aby to zrobić, model potrzebuje dostępu do bieżącego użytkownika, aby wywołać coś takiego<code>may_read</code>?(<code>current_user</code>, <code>attribute_name</code>)
. Ogólnie jednak modele nie mają dostępu do danych sesji.
Istnieje kilka sugestii, aby zapisać odwołanie do bieżącego użytkownika w bieżącym wątku, np. wten wpis na blogu. Z pewnością rozwiązałoby to problem.
Sąsiednie wyniki Google zaleciły mi zapisanie odniesienia do bieżącego użytkownika w klasie User, co, jak sądzę, zostało wymyślone przez kogoś, kto nie musi obsługiwać wielu użytkowników naraz. ;)
Krótko mówiąc, mam wrażenie, że moje życzenie dostępu do bieżącego użytkownika (tj. Danych sesji) z modelu pochodzi ode mnierobić coś źle.
Czy możesz mi powiedzieć, jak się mylę?