控制Merb身份验证错误

时间:2009-06-20 15:00:55

标签: ruby merb merb-auth

嘿那里,我在登录控制器上处理无效的用户身份验证请求时有点困惑。所以,我已经修改了登录视图,但无法弄清楚放置异常处理块的位置。它应该像这样工作:你登录 - 如果它不正确你会在/ login看到警告信息。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您选择了哪种策略?在我的自定义策略中,我在我的User类上调用类方法'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的源代码,这是一个自动混合到User类中的模块。

答案 1 :(得分:0)

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

# handle NotAuthorized exceptions (403)
def not_authorized
    render :format => :html
end

并自定义视图,您将在app / views / exceptions / not_authorized.html.haml中创建模板