Ruby 控制Merb身份验证错误

Ruby 控制Merb身份验证错误,ruby,merb,merb-auth,Ruby,Merb,Merb Auth,嘿,我对在登录控制器上处理无效的用户身份验证请求有点困惑。因此,我已经修改了登录视图,但无法确定将异常处理块放在何处。它应该是这样工作的:您登录-如果它不正确,您将在/login处看到警告消息 有什么想法吗?你选择了什么策略?在我的自定义策略中,我对我的用户类调用类方法“authenticate”: class User def self.authenticate(login, password) u = User.first(:conditions => ['email =

嘿,我对在登录控制器上处理无效的用户身份验证请求有点困惑。因此,我已经修改了登录视图,但无法确定将异常处理块放在何处。它应该是这样工作的:您登录-如果它不正确,您将在/login处看到警告消息


有什么想法吗?

你选择了什么策略?在我的自定义策略中,我对我的用户类调用类方法“authenticate”:

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的源代码,它是一个自动混合到用户类中的模块。

您可以将异常处理操作放在异常控制器中

# handle NotAuthorized exceptions (403)
def not_authorized
    render :format => :html
end
要定制视图,您需要在app/views/exceptions/not_authorized.html.haml中创建一个模板