CGI::Application::Plugin::Authorization::Driver::SimpleGroup3pm
Simple group based authorization driver
Usage
use base qw(CGI::Application);use CGI::Application::Plugin::Authorization;__PACKAGE__->authz->config(DRIVER => [ 'SimpleGroup' ],# You are responsible for setting a group param somehow!GET_USERNAME => sub { my $authz = shift; return $authz->cgiapp->session->param('group') },);
Overview
This driver achieves simplicity by assuming that the "username" method of CGI::Application::Plugin::Authorization will return a group rather than a username. Thus it can be directly compared with the list of authorized groups passed to authorize
Examples
use base qw(CGI::Application);use CGI::Application::Plugin::Authorization;__PACKAGE__->authz->config(DRIVER => [ 'SimpleGroup' ],# You are responsible for setting a group param somehow!GET_USERNAME => sub {my $authz = shift;return $authz->cgiapp->session->param('group');},);sub cgiapp_prerun {my $self = shift;# here is an example of how you could set the# group param that will be tested laterif ($ENV{REMOTE_USER} eq 'mark') {$self->session->param('group' => 'admin');}}sub my_runmode {my $self = shift;# make sure the user has 'admin' privilegesreturn $self->authz->forbidden unless $self->authz->authorize('admin');# if we get here the user has 'admin' privileges}
Methods
authorize_user
This method is not intended to be used directly. Just follow the SYNOPSIS.
This method accepts a username followed by a list of group names and will return true if the user belongs to at least one of the groups.
Licence and copyright
Copyright (c) 2006, Mark Stosberg. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Releases
10 releases since Debian 4.0 (Etch); the text changed 5 times.