NAME

Dancer::Plugin::Auth::RBAC::Credentials::MySQL - Dancer::Plugin::Auth::RBAC authentication via MySQL!

VERSION

version 1.110720

SYNOPSIS

# in your app code
my $auth = auth($login, $password);
if ($auth) {
    # login successful
}

# use your own encryption (if the user account password is encrypted)
my $auth = auth($login, encrypt($password));
if ($auth) {
    # login successful
}

DESCRIPTION

Dancer::Plugin::Auth::RBAC::Credentials::MySQL uses your MySQL database connection as the application's user management system.

METHODS

authorize

The authorize method (found in every authentication class) validates a user against the defined datastore using the supplied arguments and configuration file options.

CONFIGURATION

plugins:
  Database:
    driver: 'mysql'
    database: 'test'
    username: 'root'
    password: '****'
  Auth::RBAC:
    credentials:
      class: MySQL

Sometime you might define multiple connections for the Database plugin, make sure you tell the Auth::RBAC plugin about it... e.g.

plugins:
  Database:
    foo:
      driver: 'sqlite'
      database: 'example1.db'
    bar:
      driver: 'mysql'
      database: 'test'
      username: 'root'
      password: '****'
  Auth::RBAC:
    credentials:
      class: MySQL
      options:
        handle: bar

Please see Dancer::Plugin::Database for a list of all available connection options and arguments.

DATABASE SETUP

# users table (feel free to add more columns as you see fit)

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`login` varchar(255) NOT NULL,
`password` mediumtext NOT NULL,
`roles` mediumtext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1

# create an initial adminstrative user (should probably encrypt the password)
# Note! this module is not responsible for creating user accounts, it simply
# provides a consistant authentication framework

INSERT INTO `users` (name, login, password, roles)
VALUES ('Administrator', 'admin', '*****', 'guest, user, admin');

AUTHOR

Al Newkirk <awncorp@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by awncorp.

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