NAME
Auth::Login - Authorization Framework for wxPerl - SQL Backend
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::Backend::SQL' is part of the authorization framework that can be used in conjunction with wxPerl. It provides the an SQL backend for storing and fetching accounts.
DESCRIPTION
new(DSN (see DBI),user,pass)
--> Auth::Backend::SQL
This method initializes the backend (see DBI for more details about perl and databases). This method creates a table auth_accounts
in the database mentioned in the DSN (if it does not exist).
store(account,pass,ticket)
--> void
This method stores an account, pass and ticket in the database. It uses Digest::MD5 to hash the password.
fetch(account)
--> (result, pass, ticket)
This method fetches an account from the database. If account exists in the database, pass (md5 string) and ticket are given back. The result will have value "ok"
.
If account cannot be found, result will be "!found"
. Pass will be ""
and ticket-
valid() --> false>.
If account is not uniq, a valid result will be returned, but result will have the value "!uniq"
.
number_of_accounts()
--> integer
This method returns the number of accounts in the database.
BUGS
This module has only been tested with PostgreSQL.
SEE ALSO
http://wxperl.sf.net, Lang framework, Auth framework, Auth::Login, Auth::Ticket.
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.