簡體   English   中英

如何在Ruby on Rails應用程序數據庫中存儲ldap數據?

[英]how to store ldap data in ruby on rails application database?

我用rails4創建了一個Web應用程序,並且使用devise_ldap_authenticable gem開發了身份驗證系統。 我在使用用戶名登錄而不是電子郵件。 但我想將電子郵件存儲在我的用戶表中。 我的用戶模型是

class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
#@attr_accessible :email, :password, :password_confirmation
# not required for LDAP :recoverable, :registerable, :validatable
devise :ldap_authenticatable, :rememberable, :trackable

validates_uniqueness_of :email, :allow_blank => true

 before_save :get_ldap_email

 def get_ldap_email
  self.email = Devise::LDAP::Adapter.get_ldap_param(self.username, "mail")
 end
end 

但是在電子郵件字段的用戶表中,其存儲數據如

`email` = '--- !ruby/array:Net::BER::BerIdentifiedArray\ninternal:\n- !ruby/string:Net::BER::BerIdentifiedString\n str: !binary |-\n cy5naG9zaEBzYW1zdW5nLmNvbQ==\n ber_identifier: 4\nivars:\n :@ber_identifier: 49\n'  

我的日志顯示LDAP:請求的參數郵件的值為[“ s.ghosh@example.com”]

我將如何將該值存儲到我的用戶表。 我在哪里做錯了? 請幫幫我。

只需添加以下內容即可

def get_ldap_email
  self.email = Devise::LDAP::Adapter.get_ldap_param(self.username, "mail").first
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM