Контроль ошибок аутентификации 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

Другие вопросы по тегам