Рельсы: Блокирование пользователя с помощью routes.rb

голоса
2

У меня есть специальный URL, который я хотел бы лишь немногие люди имеют доступ. У меня есть список супер пользователей хранятся в виде массива в app.yml. Как я могу использовать этот массив в: требованиях части конкретного маршрута в routes.rb файла, чтобы только те супер пользователей доступ к этому маршруту? Большое спасибо.

Задан 10/12/2008 в 10:49
источник пользователем
На других языках...                            


2 ответов

голоса
3

Как Педро сказал .. логика аутентификации должна быть в коде контроллера.
Посмотрите на before_filters, где указать методы , которые будут вызываться до того (все или определенные) действия в контроллере работают. Вы можете использовать такой метод , чтобы запретить действия от запуска. Посмотрите на раздел под названием Filter Chain останавливая здесь

Требования для задания ограничений для частей URL для маршрута , чтобы соответствовать. Обычно регулярные выражения определены , как показано здесь.

map.geocode 'geocode/:postalcode', :controller => 'geocode',
              :action => 'show', :requirements => { :postalcode => /\d{5}(-\d{4})?/ }
Ответил 10/12/2008 в 11:20
источник пользователем

голоса
3

Нет, вы не можете. :requirementsсвязаны только параметры маршрута.

Что, на мой взгляд, хорошая вещь. Это хорошо известная условность иметь логику проверки подлинности в контроллерах.

Ответил 10/12/2008 в 10:57
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more