Catalyst::Authentication::Store::LDAP::AD::Class::User(3)

NAME
Catalyst::Authentication::Store::DBIx::Class::User - The backing user class for the Catalyst::Authentication::Store::DBIx::Class storage module.

VERSION
This documentation refers to version 0.10.

SYNOPSIS
Internal - not used directly, please see Catalyst::Authentication::Store::DBIx::Class for details on how to use this module. If you need more information than is present there, read the source.

DESCRIPTION
The Catalyst::Authentication::Store::DBIx::Class::User class implements user storage connected to an underlying DBIx::Class schema object.

SUBROUTINES / METHODS

  new
Constructor.

  load ( $authinfo, $c )
Retrieves a user from storage using the information provided in $authinfo.

  supported_features
Indicates the features supported by this class. These are currently Roles and Session.

  roles
Returns an array of roles associated with this user, if roles are configured for this user class.

  for_session
Returns a serialized user for storage in the session.

  from_session
Revives a serialized user from storage in the session.

  get ( $fieldname )
Returns the value of $fieldname for the user in question. Roughly translates to a call to the DBIx::Class::Row's get_column( $fieldname ) routine.

  get_object
Retrieves the DBIx::Class object that corresponds to this user

  obj (method)
Synonym for get_object

  auto_create
This is called when the auto_create_user option is turned on in Catalyst::Plugin::Authentication and a user matching the authinfo provided is not found. By default, this will call the "auto_create()" method of the resultset associated with this object. It is up to you to implement that method.

  auto_update
This is called when the auto_update_user option is turned on in Catalyst::Plugin::Authentication. Note that by default the DBIx::Class store uses every field in the authinfo hash to match the user. This means any information you provide with the intent to update must be ignored during the user search process. Otherwise the information will most likely cause the user record to not be found. To ignore fields in the search process, you have to add the fields you wish to update to the 'ignore_fields_in_find' authinfo element. Alternately, you can use one of the advanced row retrieval methods (searchargs or resultset).

By default, auto_update will call the "auto_update()" method of the DBIx::Class::Row object associated with the user. It is up to you to implement that method (probably in your schema file)

BUGS AND LIMITATIONS
None known currently, please email the author if you find any.

AUTHOR
Jason Kuri (jayk@cpan.org)

LICENSE
Copyright (c) 2007 the aforementioned authors. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

USER DATA
$VAR1 = [
                    {
                        'type' => 'objectClass',
                        'vals' => [
                        'top',
                        'person',
                        'organizationalPerson',
                        'user'
                        ]
                    },
                    {
                        'type' => 'cn',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X D-XD-XD-XN~XD-XD-X D-XD-XD-XD-XD-XD-XD-XN~XD-XD-XD-XN~X'
                        ]
                    },
                    {
                        'type' => 'sn',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X'
                        ]
                    },
                    {
                        'type' => 'description',
                        'vals' => [
                        'D-XD- D-XD-X (D-XD-XD-XD-XD-XD-XN~X D-XD-X 28.02.10)+'
                        ]
                    },
                    {
                        'type' => 'physicalDeliveryOfficeName',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X'
                        ]
                    },
                    {
                        'type' => 'telephoneNumber',
                        'vals' => [
                        '+7-495-637-5157'
                        ]
                    },
                    {
                        'type' => 'givenName',
                        'vals' => [
                        'D-XD-XD-XN~XD-XD-X'
                        ]
                    },
                    {
                        'type' => 'initials',
                        'vals' => [
                        'D-X'
                        ]
                    },
                    {
                        'type' => 'distinguishedName',
                        'vals' => [
                        'CN=D-XD-XN~XD-XD-XD-X D-XD-XD-XN~XD-XD-X D-XD-XD-XD-XD-XD-XD-XN~XD-XD-XD-XN~X,OU=DIT-Site,OU=DIT,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'instanceType',
                        'vals' => [
                        '4'
                        ]
                    },
                    {
                        'type' => 'whenCreated',
                        'vals' => [
                        '20091130115322.0Z'
                        ]
                    },
                    {
                        'type' => 'whenChanged',
                        'vals' => [
                        '20091217072902.0Z'
                        ]
                    },
                    {
                        'type' => 'displayName',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X D-XD-XD-XN~XD-XD-X D-XD-XD-XD-XD-XD-XD-XN~XD-XD-XD-XN~X'
                        ]
                    },
                    {
                        'type' => 'uSNCreated',
                        'vals' => [
                        '47115221'
                        ]
                    },
                    {
                        'type' => 'memberOf',
                        'vals' => [
                        'CN=APP_FireFox-Seting,CN=Users,DC=msk,DC=rian',
                        'CN=~D-XD-XN~XN~XN~XD-XD-XD-XD-XD-X-D-XN~XD-XN~XD-XD-XN~X,OU=Z_Senders Group,DC=msk,DC=rian',
                        'CN=BGInfo_Desktop,CN=Users,DC=msk,DC=rian',
                        'CN=BGInfo_Inventory,CN=Users,DC=msk,DC=rian',
                        'CN=ROTURA-ACCESS,CN=Users,DC=msk,DC=rian',
                        'CN=CIS_ANNOUNCE-USERS,CN=Users,DC=msk,DC=rian',
                        'CN=ICQ-Access,CN=Users,DC=msk,DC=rian',
                        'CN=TimeSheetsUsers,CN=Users,DC=msk,DC=rian',
                        'CN=Internet-Access,CN=Users,DC=msk,DC=rian',
                        'CN=DIT-SITE,CN=Users,DC=msk,DC=rian',
                        'CN=DIT,CN=Users,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'uSNChanged',
                        'vals' => [
                        '47575331'
                        ]
                    },
                    {
                        'type' => 'department',
                        'vals' => [
                        'D-XD-XN~XD-XD-XN~XD-XN~X N~XD-XD-XN~XD-XD-XD-XN~XD-XD-X D-XN~XD-XD-XN~XD-XD-XD-XD-XD-XD-XD-X D-XD-XD-XN~XD-XD-XN~XD-XD-XD-XN~X'
                        ]
                    },
                    {
                        'type' => 'company',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X'
                        ]
                    },
                    {
                        'type' => 'homeMTA',
                        'vals' => [
                        'CN=Microsoft MTA,CN=X-MAN,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=RIAN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'proxyAddresses',
                        'vals' => [
                        'SMTP:a.chergik@rian.ru',
                        'smtp:a.chergik@msk.rian',
                        'smtp:chergik@msk.rian',
                        'X400:c=RU;a= ;p=RIAN;o=Exchange;s=chergik;i=?;'
                        ]
                    },
                    {
                        'type' => 'homeMDB',
                        'vals' => [
                        'CN=Mailbox Store 22 (X-MAN),CN=Second Storage Group,CN=InformationStore,CN=X-MAN,CN=Servers,CN=First Administrative Group,CN=Administrative Groups,CN=RIAN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'mDBUseDefaults',
                        'vals' => [
                        'TRUE'
                        ]
                    },
                    {
                        'type' => 'mailNickname',
                        'vals' => [
                        'chergik'
                        ]
                    },
                    {
                        'type' => 'name',
                        'vals' => [
                        'D-XD-XN~XD-XD-XD-X D-XD-XD-XN~XD-XD-X D-XD-XD-XD-XD-XD-XD-XN~XD-XD-XD-XN~X'
                        ]
                    },
                    {
                        'type' => 'objectGUID',
                        'vals' => [
                        'a69c03d80372c483a442aa0a33974cda'
                        ]
                    },
                    {
                        'type' => 'userAccountControl',
                        'vals' => [
                        '66048'
                        ]
                    },
                    {
                        'type' => 'badPwdCount',
                        'vals' => [
                        '0'
                        ]
                    },
                    {
                        'type' => 'codePage',
                        'vals' => [
                        '0'
                        ]
                    },
                    {
                        'type' => 'countryCode',
                        'vals' => [
                        '0'
                        ]
                    },
                    {
                        'type' => 'homeDirectory',
                        'vals' => [
                        '\\\\192.168.18.48\\users\\chergik'
                        ]
                    },
                    {
                        'type' => 'homeDrive',
                        'vals' => [
                        'U:'
                        ]
                    },
                    {
                        'type' => 'badPasswordTime',
                        'vals' => [
                        '129084617527900580'
                        ]
                    },
                    {
                        'type' => 'lastLogon',
                        'vals' => [
                        '129085561405449235'
                        ]
                    },
                    {
                        'type' => 'pwdLastSet',
                        'vals' => [
                        '129040556028324394'
                        ]
                    },
                    {
                        'type' => 'primaryGroupID',
                        'vals' => [
                        '513'
                        ]
                    },
                    {
                        'type' => 'objectSid',
                        'vals' => [ aXXAeXaXXaXX(' 'aXX
                        ]
                    },
                    {
                        'type' => 'accountExpires',
                        'vals' => [
                        '129118644000000000'
                        ]
                    },
                    {
                        'type' => 'logonCount',
                        'vals' => [
                        '86'
                        ]
                    },
                    {
                        'type' => 'sAMAccountName',
                        'vals' => [
                        'chergik'
                        ]
                    },
                    {
                        'type' => 'division',
                        'vals' => [
                        ' D-XN~XD-XD-XD-X D-XD-XN~XD-XN~XD-XD-XN~X-N~XD-XN~XD-XD-XD-XD-X'
                        ]
                    },
                    {
                        'type' => 'sAMAccountType',
                        'vals' => [
                        '805306368'
                        ]
                    },
                    {
                        'type' => 'showInAddressBook',
                        'vals' => [
                        'CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=RIAN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msk,DC=rian',
                        'CN=D- D-XD-X \\"D-XD-XD-XD-XN~XN~XD-X\\",CN=All Address Lists,CN=Address Lists Container,CN=RIAN,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'legacyExchangeDN',
                        'vals' => [
                        '/o=RIAN/ou=First Administrative Group/cn=Recipients/cn=chergik'
                        ]
                    },
                    {
                        'type' => 'userPrincipalName',
                        'vals' => [
                        'chergik@msk.rian'
                        ]
                    },
                    {
                        'type' => 'objectCategory',
                        'vals' => [
                        'CN=Person,CN=Schema,CN=Configuration,DC=msk,DC=rian'
                        ]
                    },
                    {
                        'type' => 'textEncodedORAddress',
                        'vals' => [
                        'c=RU;a= ;p=RIAN;o=Exchange;s=chergik;i=?;'
                        ]
                    },
                    {
                        'type' => 'mail',
                        'vals' => [
                        'a.chergik@rian.ru'
                        ]
                    },
                    {
                        'type' => 'jpegPhoto',
                        'vals' => [
                        JPEG_BINARY_DATA
                        ]
                    },
                    {
                        'type' => 'middleName',
                        'vals' => [
                        'D-XD-XD-XD-XD-XD-XD-XN~XD-XD-XD-XN~X'
                        ]
                    },
                    {
                        'type' => 'msExchHomeServerName',
                        'vals' => [
                        '/o=RIAN/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=X-MAN'
                        ]
                    },
                    {
                        'type' => 'msExchALObjectVersion',
                        'vals' => [
                        '55'
                        ]
                    },
                    {
                        'type' => 'msExchMailboxSecurityDescriptor',
                        'vals' => [
                        '...'
                        ]
                    },
                    {
                        'type' => 'msExchUserAccountControl',
                        'vals' => [
                        '0'
                        ]
                    },
                    {
                        'type' => 'msExchMailboxGuid',
                        'vals' => [
                        '...'
                        ]
                    },
                    {
                        'type' => 'msExchPoliciesIncluded',
                        'vals' => [
                        '{D30A3E62-4F94-47F2-A13C-8B204072ACAB},{26491CFC-9E50-4857-861B-0CB8DF22B5D7}'
                        ]
                    },
                    {
                        'type' => 'gender',
                        'vals' => [
                        'M'
                        ]
                    },
                    {
                        'type' => 'contractStartDate',
                        'vals' => [
                        '01.12.2009'
                        ]
                    }
                ];