ruby-on-rails - Authlogic LDAP : encrypt communication

标签 ruby-on-rails ldap authlogic

我有一个带有 authlogic 和 LDAP 的 rails 应用程序,但我的问题是我可以在日志文件中看到所有用户的密码,是否有什么东西可以加密这些密码。
对于 ldap,我使用 :encryption simple_TLS

谢谢你的帮助

最佳答案

这就是我用 authlogic 做的方式和 net-ldap :

配置/ldap.yml

    production:
      host: localhost
      port: 636
      base: ou=people,dc=mydomain
      admin_user: cn=admin,dc=mydomain
      admin_password: password
      ssl: true

应用程序/模型/ldap_connect.rb
    class LdapConnect

      attr_reader :ldap

      def initialize(params = {})
        ldap_config = YAML.load_file("#{RAILS_ROOT}/config/ldap.yml")[RAILS_ENV]
        ldap_options = params
        ldap_options[:encryption] = :simple_tls if ldap_config["ssl"]

        @ldap = Net::LDAP.new(ldap_options)
        @ldap.host = ldap_config["host"]
        @ldap.port = ldap_config["port"]
        @ldap.base = ldap_config["base"]
        @ldap.auth ldap_config["admin_user"], ldap_config["admin_password"] if params[:admin] 
      end

    end

应用程序/模型/user_session.rb
    class UserSession < Authlogic::Session::Base

      verify_password_method :valid_ldap_credentials?

    end

应用程序/模型/user.rb
class User < ActiveRecord::Base

  acts_as_authentic do |c|
    c.validate_password_field = false
    c.logged_in_timeout = 30.minutes
  end

  def dn
    "cn=#{self.email},ou=people,dc=mydomain"
  end

  def valid_ldap_credentials?(password_plaintext)
    ldap = LdapConnect.new.ldap
    ldap.auth self.dn, password_plaintext
    ldap.bind # will return false if authentication is NOT successful
  end

end

关于ruby-on-rails - Authlogic LDAP : encrypt communication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2682457/

相关文章:

ruby-on-rails - 在 Ubuntu 中为 Rails 开发设置 Emacs?

html - rails form_tag _path 参数

ruby-on-rails - 如何调试 cap 部署错误并查找 Net::SSH::ChannelOpenFailed 网络错误的日志文件?

java - 在 Java 中使用 kerberos 票证获取 AD 组

ruby-on-rails - SSL_connect returned=1 errno=0 state=SSLv3 读取服务器证书 B : certificate verify failed

ruby-on-rails - 在用户更新时将 Authlogic validate_login_field 设置为 false

ruby-on-rails - Rails 语言环境回退在生产环境中不起作用

ldap - LDAP解决什么问题?

docker-compose - ldap 客户端容器可与 docker run 配合使用,但不适用于 docker-compose 或 docker-stack

ruby-on-rails - 我一直在使用 Authlogic,但现在需要删除它的所有痕迹。我需要做什么?