控制 Merb 身份验证错误

发布于 2024-07-25 12:03:53 字数 130 浏览 5 评论 0原文

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

有任何想法吗 ?

Hey there, im a little bit confused about handling invalid user authentication request, at login controller. So, i already have modified login view, but cant figure out where to put the exception handling block. It should work like this: you login - if its incorrect you will see warning message at /login .

Any ideas ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏の忆 2024-08-01 12:03:53

你选择了什么策略? 在我的自定义策略中,我在 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 中的模块班级。

What strategy have you chosen ? In my custom Strategy, I call the class method 'authenticate' on my User class:

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

Also, you might want to look at the source code of merb-auth-more/mixins/salted_user which is a module that is automatically mixed into your User class.

杯别 2024-08-01 12:03:53

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

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

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

you would put your exception handling action in the exceptions controller

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

and to customise the view you would create a template in app/views/exceptions/not_authorized.html.haml

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文