NAME
Gantry::Control::C::Authz::PageBasedBase - Page based access control.
SYNOPSIS
DESCRIPTION
This handler is the authorization portion for page based authorization. It will authenticate only users who have been allowed from the administrative interface into a particular uri. The module returns FORBIDDEN if you do not have access to a particular uri.
APACHE
This is a sample of how to set up Authorization only on a location.
<Location /location/to/auth >
AuthType Basic
AuthName
"Manual"
PerlSetVar dbconn
"dbi:Pg:dbname=..."
PerlSetVar dbuser
"<database_username>"
PerlSetVar dbpass
"<database_password>"
PerlSetVar dbcommit off
PerlAuthenHandler Gantry::C::Control::AuthenSubClass
PerlAuthzHandler Gantry::C::Control::Authz::PageBasedSubClass
require
valid-user
</Location>
Choose a subclass to match your other database ORM scheme. Use Gantry::C::Control::Authz::PageBasedCDBI if you use Class::DBI (or something descended from it), otherwise use Gantry::C::Control::Authz::PageBasedRegular.
DATABASE
These are the authentication tables that this handler uses.
create table
"auth_pages"
(
"id"
int4 primary key
default
nextval(
'auth_pages_seq'
) NOT NULL,
"user_perm"
int4,
"group_perm"
int4,
"world_perm"
int4,
"owner_id"
int4,
"group_id"
int4,
"uri"
varchar,
"title"
varchar
);
create table
"auth_groups"
(
"id"
int4 primary key
default
nextval(
'auth_groups_seq'
) NOT NULL,
"name"
varchar,
"description"
text
);
create table
"auth_group_members"
(
"id"
int4 primary key
default
nextval(
'auth_group_members_seq'
)
NOT NULL,
"user_id"
int4,
"group_id"
int4
);
METHODS
- handler
-
The mod_perl page based authz handler.
- do_requires
-
For internal use.
- lookup_uri
-
For internal use.
SEE ALSO
Gantry::Control::C::Pages(3), Gantry::Control::C::Authz(3), Gantry::Control(3), Gantry(3)
LIMITATIONS
Pages must be defined for this to work, otherwise everything returns FORBIDDEN to the user.
AUTHOR
Tim Keefer <tkeefer@gmail.com>
COPYRIGHT
Copyright (c) 2005-6, Tim Keefer.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.