Контроль ошибок аутентификации Merb
Привет, я немного запутался в обработке неверного запроса аутентификации пользователя на контроллере входа. Итак, я уже изменил вид входа в систему, но не могу понять, куда поместить блок обработки исключений. Он должен работать следующим образом: вы входите в систему - если он неправильный, вы увидите предупреждение /login .
Есть идеи?
2 ответа
Какую стратегию вы выбрали? В моей пользовательской стратегии я вызываю метод класса "authenticate" в своем классе User:
class User
def self.authenticate(login, password)
u = User.first(:conditions => ['email = ?', login]) # find a user with this login
if u && u.authenticated?
return u
else
nil
end
end
end
Кроме того, вы можете захотеть взглянуть на исходный код merb-auth-more/mixins/salted_user, который является модулем, автоматически смешанным с вашим классом User.
Вы бы поместили свое действие по обработке исключений в контроллер исключений
# handle NotAuthorized exceptions (403)
def not_authorized
render :format => :html
end
и чтобы настроить представление, вы должны создать шаблон в app/views/exceptions/not_authorized.html.haml