【问题标题】:How can I use Rails/Devise without a database?如何在没有数据库的情况下使用 Rails/Devise?
【发布时间】:2013-02-13 20:34:03
【问题描述】:

我正在创建一个不使用数据库的 Rails 应用程序。相反,模型是使用包装遗留系统的 Ruby API 进行管理的。

我有一个 Ruby 调用,可以让我验证用户名/密码组合。在这种情况下是否可以使用 Devise(或其他一些现成的身份验证解决方案)?

我希望我可以覆盖 Devise 中的一些方法,并且仍然可以获得很多好处。

彼得。

【问题讨论】:

    标签: ruby-on-rails authentication devise


    【解决方案1】:

    有可能。

    您可以通过 Devise and Warden 覆盖默认身份验证并使用远程服务。

    这篇博文详细介绍了如何:

    http://4trabes.com/2012/10/31/remote-authentication-with-devise/

    让我们知道进展如何......

    祝你好运

    【讨论】:

    • 您标识的页面描述了我想要实施的解决方案类型。但是,它在一些细节上相当模糊。例如,用户 PORO 住在哪里。有三个用户类还是只有一个? Devise::Models 和 Devise::Strategies 模块在哪里?
    • 啊!我需要将 'Devise.add_module :remote_authenticable, :controller => :sessions, :route => { :session => :routes }' 添加到我的 devise.rb 文件中。我从来没有遇到过像 Ruby 那样充满巫术的语言。谁能解释一下这条线是做什么的?
    【解决方案2】:

    如果我理解正确,您想在您的项目中使用 Devise 来封装旧的旧式身份验证系统。 您可能需要定义 legacy_username 和 legacy_password 方法,创建迁移以采用 Devise gem,我相信您会找到出路。 也许这个链接可以帮助你:http://www.davidverhasselt.com/2012/05/13/how-to-migrate-passwords-from-legacy-systems-to-devise/

    另外,也许这 - 如何在 Devise 中创建自定义加密器 - https://github.com/plataformatec/devise/wiki/How-To:-Create-a-custom-encryptor

    我希望它会有所帮助。

    【讨论】:

    • 问题是我没有数据库。所以 ActiveRecord::Base 不在我的词汇表中。另外,我不处理加密。
    猜你喜欢
    • 1970-01-01
    • 2010-10-23
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多