NAME
Auth - Authorization framework for Wx::Perl.
SYNOPSIS
use Auth::Backend::SQL;
use Auth;
use Auth::Login;
use DBI;
use Lang::SQL;
use Lang;
package testApp;
use base 'Wx::App';
sub OnInit {
my $dbname="zclass";
my $host="localhost";
my $user="zclass";
my $pass="";
my $dsn="dbi:Pg:dbname=$dbname;host=$host";
Lang::init(new Lang::SQL("dbi:Pg:dbname=$dbname;host=$host",$user,$pass));
my $backend=Auth::Backend::SQL->new($dsn,$user,$pass);
my $auth=Auth->new($backend);
my $login=Auth::Login->new($auth,"test application");
my $ticket=$login->login();
$ticket->log();
$ticket=Auth::Ticket->new(ADMIN => 1);
$ticket->log();
$auth->create_account("admin","test",$ticket);
print "login with admin, pass=test\n";
$ticket=$login->login();
$ticket->log();
$login->Destroy;
return 0;
}
package main;
my $a= new testApp;
$a->MainLoop();
ABSTRACT
'Auth' is an authorization framework that can be used in conjunction with wxPerl. It provides a simple login system with flexible login backends and a very simple ticket system, that has three levels of authorization.
DESCRIPTION
Authorization levels
The Auth authorization framework has three levels of authorization:
- administrator
-
This level of authorization should be used for users that are 'superuser' for a program.
- mutate
-
This level of authorization should be used for users that can modify data.
- view
-
This level of authorization should be used for users that can only view information.
new(backend)
--> Auth
The new method instantiates an Auth object with a given backend. The backend has to be preinitialized.
Returns the Auth object.
has_accounts()
--> boolean
This method returns if the backend has any accounts in the store.
admin_ticket()
--> Auth::Ticket
This method returns a ticket object with administrator authorization level.
check_login(account,pass)
--> Auth::Ticket
This method checks with the backend if a (account,password) combination is valid. If it is, it will return a ticket with the registered authorization level.
Otherwise, it will return a ticket that has property 'invalid'.
create_account(account,pass,ticket)
--> void
This method creates a (new) account. It should be passed a valid ticket. Account and Pass must not be empty.
The backend will create the new account in the store. If the account already exists, the backend must overwrite the existing account.
update_pass_ticket(account,pass,ticket)
--> void
This method updates the password and ticket of an existing account in the store of the backend. If the account doesn't exist, the backend will create it with the given password and ticket.
SEE ALSO
http://wxperl.sf.net, , , .
AUTHOR
Hans Oesterholt-Dijkema <oesterhol@cpan.org>
COPYRIGHT AND LICENSE
This library is free software; you can redistribute it and/or modify it under LGPL terms.