2012-01-05 99 views
2

我在使用活动管理员在我的轨道3.0.9应用程序与默认setup.i.e我有User模型与设计认证客户登录和Active Admin正在运行AdminUser模型。除了活动的管理员登录页面之外,一切正常。当我尝试访问http://localhost:3000/admin时,我很快得到活动的管理员登录页面。但是,当我正确/不正确地输入用户名/密码后,身份验证过程需要将近3-5分钟。由于这个原因,我甚至无法在heroku上部署应用程序,并且我在heroku日志上遇到超时错误。活动管理员登录缓慢

但是,在我登录到活动管理员后,如何在开发模式下,一切正常。我假设这是由于路由问题而发生的。所以我在这里完全粘贴我的路线文件。

http://pastie.org/3153643

可有一个人帮我在这吗?谢谢

更新09年1月:它似乎是问题与我认为的路线无关。我删除了所有其他模型/控制器/视图/路线,只留下UserAdminUser的东西。但我仍然经历着缓慢。

回答

3

没关系我已经找到了问题,也可能是解决方案。我在这里发布它,因此它可以帮助有类似问题的其他人。

在我的应用程序中,我最初使用authlogic gem进行身份验证,但最近我已将其切换为devise以获得更好的支持。但我仍然希望允许老用户使用相同的密码登录到应用程序。所以我已经覆盖了从Bcrypt到Authlogic的sha512的设计加密,如下所示。

配置/初始化/ devise.rb

config.encryptor = :authlogic_sha512 

但我从来没有改变AdminUser模型,以适应上述变化。

所以修复应该是在我的模型,我应该使用:encryptable:encryptor => :authlogic_sha512

class AdminUser < ActiveRecord::Base 

    devise :database_authenticatable, 
     :recoverable, :rememberable, :trackable, :validatable,:encryptable, `:encryptor => :authlogic_sha512` 

    # Setup accessible (or protected) attributes for your model 
    attr_accessible :email, :password, :password_confirmation, :remember_me 
end 

而且在管理用户迁移文件可加密列应启用

​​