The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::LDAP::Class::Group::POSIX - group class for POSIX LDAP schema

SYNOPSIS

 # create a subclass for your local LDAP
 package MyLDAPGroup;
 use base qw( Net::LDAP::Class::Group::POSIX );
 
 __PACKAGE__->metadata->setup(
     base_dn             => 'dc=mycompany,dc=com',
    attributes          => __PACKAGE__->POSIX_attributes,
    unique_attributes   => __PACKAGE__->POSIX_unique_attributes,
 );
 
 1;
 
 # then use your class
 my $ldap = get_and_bind_LDAP_object(); # you write this
 
 use MyLDAPGroup;
 my $group = MyLDAPGroup->new( ldap => $ldap, cn   => 'foobar' );
 $group->read_or_create;
 for my $user ($group->users) {
     printf("user %s in group %s\n", $user, $group);
 }

DESCRIPTION

Net::LDAP::Class::Group::POSIX isa Net::LDAP::Class::Group implementing the POSIX LDAP schema.

CLASS METHODS

POSIX_attributes

Returns array ref of 'cn', 'gidNumber' and 'memberUid'.

POSIX_unique_attributes

Returns array ref of 'cn' and 'gidNumber'.

OBJECT METHODS

init_user_class

Defaults to Net::LDAP::Class::User::POSIX. You likely want to override this in your subclass.

read

Overrides (and calls) base method to perform additional sanity check that the matching organizational unit exists for the primary posixGroup.

action_for_create([ cn => cn_value, gidNumber => gid ])

Add a group to the database.

May be called as a class method with explicit cn and gidNumber key/value pairs.

action_for_update

Save new gidNumber (gid) or cn (name) for an existing group.

NOTE: Because of the POSIX schema layout, renaming a group means creating a new group, moving existing users into it, and deleting the old group. This is handled transparently in action_for_update().

action_for_delete( [cn => cn_value] )

Returns array ref of actions for removing the organizational unit and the posixGroup.

You may call this as a class method with an explicit cn key/value pair.

fetch_primary_users

Required MethodMaker method for retrieving primary_users from LDAP.

Returns array or array ref based on context, of related User objects who have this group assigned as their primary group.

fetch_secondary_users

Required MethodMaker method for retrieving secondary_users from LDAP.

Returns array or array ref based on context, of related User objects who have this group assigned as a secondary group.

gid

Alias for gidNumber() attribute.

AUTHOR

Peter Karman, <karman at cpan.org>

BUGS

Please report any bugs or feature requests to bug-net-ldap-class at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-LDAP-Class. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Net::LDAP::Class

You can also look for information at:

ACKNOWLEDGEMENTS

The Minnesota Supercomputing Institute http://www.msi.umn.edu/ sponsored the development of this software.

COPYRIGHT

Copyright 2008 by the Regents of the University of Minnesota. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Net::LDAP