Hi,
In <f17e4a070c8efbdc879559a9eb7ea0ef@ruby-forum.com>
"Active_Ldap Base Config Question" on Thu, 12 Nov 2009 03:39:28 +0900,
I haven't done much with polling AD in the past but I am now trying to
write a basic script using active_ldap that pulls a list of users from
AD. The following code I have here doesn't work but the thing that
bothers me the most is that when I use a sniffer on the AD server, I
don't see any attempt by the script to communicate with the server.
require 'rubygems'
require 'active_ldap'
ActiveLdap::Base.setup_connection(
:host => "10.1.1.1",
:user => "admin",
:password => "password",
:base => "dc=voice,dc=company,dc=com"
)
all_users = Group.find(:all, '*')
puts all_users
The actual error I get is:
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:443:in
`load_missing_constant': uninitialized constant Group (NameError)
Any ideas as to why this basic config isn't working?
You need to define your Group class:
class Group < ActiveLdap::Base
ldap_mapping :dn_attribute => "cn",
:classes => ['posixGroup']
# Inspired by ActiveRecord, this tells ActiveLDAP that the
# LDAP entry has a attribute which contains one or more of
# some class |:class_name| where the attributes name is
# |:local_key|. This means that it will call
# :class_name.new(value_of(:local_key)) to create the objects.
has_many :members, :class_name => "User", :wrap => "memberUid"
has_many :primary_members, :class_name => 'User',
:foreign_key => 'gidNumber',
:primary_key => 'gidNumber'
end # Group
# from Google Code Archive - Long-term storage for Google Code Project Hosting.
I confused the lines:
all_users = Group.find(:all, '*')
puts all_users
Did you want to write like the following?
all_groups = Group.all
puts all_groups
Thanks,
···
jackster the jackle <johnsheahan@att.net> wrote:
--
kou