繁体   English   中英

Rails - 在Devise中禁用“already_authenticated”重定向

[英]Rails - Disable “already_authenticated” redirect in Devise

我需要我的Rails应用程序才允许用户:admin能够访问sign_up页面并添加用户。 但是,如果有人登录(管理员或其他人),Devise会重定向他们并显示绑定到already_authenticated错误的“已登录”消息。

我知道还有其他更强大的方法,比如创建一个新的控制器来覆盖Devise中的标准控制器,但因为我对Rails相当新,而且我目前的需求很小,我只是想完全禁用“already_authenticated”重定向。 然后,我可以轻松地在sign_up页面的顶部添加一个“if”语句,以保持常规用户不在其中,但仍然允许那些具有:admin属性的人通过。 我可以使用sign_in页面执行相同的操作,并使用“if signed_in?”启动它。 查询用户当前是否已登录并根据需要自行重定向。 容易腻(我想)。

我一直在浏览Devise文档和他们的lib文件,但是无法确切地找到这个重定向的处理位置,如果这确实是它正在做的事情。

任何帮助表示赞赏,并提前感谢您。

重定向位于: https//github.com/plataformatec/devise/blob/master/app/controllers/devise/sessions_controller.rbhttps://github.com/plataformatec/devise/blob/master/app/controllers/设计/ registrations_controller.rb

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

正如您从源代码中看到的那样,无法使用配置选项禁用它。 唯一的方法是覆盖适当的控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM