LoginSignup
6
5

More than 5 years have passed since last update.

ActiveLdap をようやく使ってみた。

Posted at

ActiveLdap でメールサーバのアカウントを取得・表示してみる。

以前は OpenLDAP のライブラリが無いといけなかった気がするが、
改めて試してみたところ net-ldap が pure ruby 実装だったので
Windows でもちゃんと動いた! 嬉しい…

sample_activeldap.rb
# coding: utf-8
#
require 'active_ldap'

ActiveLdap::Base.setup_connection :host => 'ldap.example.co.jp', :base => 'o=Example Inc., c=JP'

class User < ActiveLdap::Base
  ldap_mapping :dn_attribute => "cn", :prefix => "ou=example.ad.jp"
end

account      = []
mailing_list = []

User.find(:all).each do |user|
  if user.mailalternateaddress && user.mailalternateaddress.include?(user.mail.sub(/@/, '-default@'))
    mailing_list << user
  else
    account << user
  end
end

puts "account: #{account.size}"
account.each do |value|
  puts "#{value.mail} / #{value.name} #{value.mailforwardingaddress ? '... => ' + [value.mailforwardingaddress].flatten.size.to_s : ''}"
end

puts "\nmailing_list: #{mailing_list.size}"
mailing_list.each do |value|
  puts "#{value.mail} / #{value.name}"
end

exit 0

ウチの会社のサーバ固有の attribute もあるのでアレですが、まぁ、参考までという事で。

6
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5