0

我在一个 Ruby on Rails 项目中工作,该项目使用 Devise 插件实现了身份验证机制。我是这个插件和 Ruby 的新手。因此难以解决身份验证问题。问题是,根据当前的实现,如果用户试图在没有登录的情况下访问应用程序中的页面,它会通过说他或她应该在访问该页面之前登录或注册来将用户重定向到登录页面. 这是正确的。这就是我需要的实现。但是发生的情况是,即使用户直接进入登录页面,也会显示此错误消息。这不是必需的。因为如果用户直接访问登录页面,没有意义给出错误信息。任何帮助将不胜感激。谢谢你。

4

1 回答 1

1

您在不应该使用的地方调用设计authenticate_user!并且不使用require_no_authentication

您必须确保在您的会话控制器中调用过滤器之前

prepend_before_filter :require_no_authentication, :only => [ :new, :create ]

这些都是在设计的默认控制器中处理的(例如,Devise::SessionsController),你在使用它们吗?

于 2012-05-30T09:50:47.807 回答