Ruby on Rails中使用Authlogic结合LDAP进行加密通信的配置方法是什么?

更新于
2026-10-03 19:34:52
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计329个文字,预计阅读时间需要2分钟。

我在一个带有authlogic和LDAP的Rails应用程序中遇到了问题,我想知道是否可以在日志文件中看到所有用户的密码,以及是否需要修复以加密这些密码。对于LDAP,我使用的是加密的简单TLS。感谢你的帮助!

我有一个带有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

本文共计329个文字,预计阅读时间需要2分钟。

我在一个带有authlogic和LDAP的Rails应用程序中遇到了问题,我想知道是否可以在日志文件中看到所有用户的密码,以及是否需要修复以加密这些密码。对于LDAP,我使用的是加密的简单TLS。感谢你的帮助!

我有一个带有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