NAME

Dancer::Plugin::Auth::RBAC::Permissions::DBIC - Auth::RBAC Permissions via DBIx::Class

SYNOPSIS

if ( auth->asa('guest') ) {
  ...
}
if ( auth->can('manage_accounts', 'create') ) {
  ...
}

DESCRIPTION

Uses your DBIx::Class schema to provide the authorisation part of the RBAC user management system.

Note that you do not use this module directly. Use Dancer::Plugin::Auth::RBAC and configure it to use the DBIC class in your Dancer configuration (see below).

See Dancer::Plugin::Auth::RBAC::Credentials::DBIC for authentication and role management via DBIC.

METHODS

There are no public methods directly from this module. Use asa and can from Dancer::Plugin::Auth::RBAC

CONFIGURATION

Minimal example:

plugins:
  DBIC:
    Auth:
      dsn: "dbi:SQLite:dbname=./foo.db"
    Auth::RBAC:
      credentials:
        class: DBIC
      permissions:
        class: DBIC

The following config options are avaialable:

handle

The handle of the Dancer::Plugin::DBIC schema to use. Only needed if you have more than one schema defined.

user_moniker

The moniker for the result source which holds your users. Default User.

role_relation

The name of the relationship to get the roles of a user. Default roles.

role_name_field

The name of the field on the role object that the role name is stored in. Default name.

perm_relation

The name of the relationship to get the permissions for a role. Default permissions.

perm_name_field

The name of the field on the permissions object that the permission name is stored in. Default name.

ops_relation

The name of the relationship to get the operations for a permission. Default operations.

ops_name_field

The name of the field on the operations object that the operation name is stored in. Default name.

DBIx::Class RELATIONSHIPS

The RBAC relationships are as follows:

user has_many roles has_many permissions has_many operations

SEE ALSO

Dancer::Plugin::DBIC Dancer::Plugin::Auth::RBAC Dancer::Plugin::Auth::RBAC::Credentials::DBIC DBIx::Class

AUTHOR

Jason Clifford, <jason@ukfsn.org>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Jason Clifford

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