2009-06-20 136 views
0

嘿,那里,我有点在处理无效的用户身份验证请求,在登录控制器感到困惑。所以,我已经修改了登录视图,但不知道在哪里放置异常处理块。它应该像这样工作:您登录 - 如果它不正确,您将在/ login处看到警告消息。控制Merb身份验证错误

任何想法?

回答

0

您选择了哪种策略?在我的自定义策略,我呼吁我的用户类的类方法“认证”:

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的认证 - 多/混入/ salted_user的源代码,这是一个模块它会自动混合到您的User类中。

0

你会把你的异常处理动作异常控制器

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

和定制你需要在app /视图/例外模板视图/ not_authorized.html.haml