Name

CatalystX::Usul::Users::DBIC - Database user storage

Version

Describes v0.16.$Rev: 1 $

Synopsis

use CatalystX::Usul::Users::DBIC;

my $class = CatalystX::Usul::Users::DBIC;

my $user = $class->new( $attr );

Description

User storage model for relational databases. This model makes use of DBIx::Class. It inherits from CatalystX::Usul::Users and implements the required list of factory methods

Configuration and Environment

Defines the following list of attributes

dbic_role_model

Required schema object which represents roles

dbic_user_model

Required schema object which represents users

dbic_user_roles_model

Required schema object which represents the user / roles join table

field_map

A hash ref which maps the field names used by the user model onto the field names used by this data store

get_features

A hash ref which details the features supported by the DBIC user data store

Subroutines/Methods

activate_account

Searches the user store for the supplied user name and if it exists sets the active column to true

assert_user

Returns a DBIC user object for the specified user or throws an exception if the user does not exist

change_password

Calls update_password in CatalystX::Usul::Identity::Users with the authenticate flag set to false, thereby forcing the user to authenticate. Passes the supplied arguments through

check_password

Calls authenticate in CatalystX::Usul::Identity::Users. Returns true if the authentication succeeded, false otherwise

create

Creates a new user object on the user model. Adds the user to the list of roles appropriate to the user profile

delete

Deletes a user object from the user model

get_primary_rid

Returns undef as primary role ids are not supported by this storage backend

get_user

Returns a hash ref of fields for the request user

get_users_by_rid

Returns an empty list as primary role ids are not supported by this storage backend

is_user

Returns true if the supplied user exists, false otherwise

list

Returns a list reference of users in the database

set_password

Calls update_password in CatalystX::Usul::Identity::Users with the authenticate flag set to true, which bypasses user authentication. Passes the supplied arguments through

update

Updates columns on the user object for the supplied user

update_password

Updates the users password in the database

user_report

Generate a report from the data in the user database

Diagnostics

None

Dependencies

CatalystX::Usul::Users
CatalystX::Usul::Moose
Class::Usul::Time
TryCatch

Incompatibilities

There are no known incompatibilities in this module

Bugs and Limitations

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Author

Peter Flanigan, <Support at RoxSoft.co.uk>

License and Copyright

Copyright (c) 2014 Peter Flanigan. All rights reserved

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

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE