lib/adauth/ad_objects/group.rb in adauth-2.0.1 vs lib/adauth/ad_objects/group.rb in adauth-2.0.2
- old
+ new
@@ -18,18 +18,27 @@
Fields = {
:name => :samaccountname,
:cn_members => [ :member,
Proc.new {|g| g.sub(/.*?CN=(.*?),.*/, '\1')} ],
:memberof => :member
- #:cn_groups => [ :memberof,
- # Proc.new {|g| g.sub(/.*?CN=(.*?),.*/, '\1')} ]
}
# Object Net::LDAP filter
#
# Used to restrict searches' to just this object
ObjectFilter = Net::LDAP::Filter.eq("objectClass", "group")
-
+
+ # Create a new Group
+ def self.new_group(name, parent)
+ expects parent, [Adauth::AdObjects::OU, Adauth::AdObjects::Folder]
+ attributes = {
+ cn: name,
+ objectclass: ["top", "group"]
+ }
+ Adauth.connection.add(dn: "CN=#{name},#{parent.ldap_object.dn}", attributes: attributes )
+ return Adauth::AdObjects::Group.where('name', name).first
+ end
+
# Returns all the objects which are members of this group
def members
Adauth.logger.info(self.class.inspect) { "Getting group members for #{self.name}" }
unless @members
@members = convert_to_objects(cn_members)
\ No newline at end of file