login($cgi, $ar, $tmout)
Input variables:
$cgi - CGI object
$ar - parameter array ref
$tmout - whether the session has been timed out
Variables used or routines called:
to_remember - to remember inputs
check_user - to check user logins
set_cookies - to set cookies
How to use:
my $q = new CGI;
$self->login($q, 'jsmith', 'jojo'); # login as jsmith
my %cfg = (usr=>'jsmith', pwd=>'jojo');
$self->login($q, \%cfg, 0); # login as jsmith
Return: ($toc, $txt): the login screen HTML code
get_version ($cgi, $ar, $sub)
Input variables:
$cgi - CGI object
$ar - Array ref containing all the parameters
$sub - sub procedure name.
display user first name if it is 'login'
Variables used or routines called:
None.
How to use:
my $q = new CGI;
my %cfg = (usr=>'jsmith', pwd=>'jojo');
my @names = $q->param;
foreach my $k (@names) { $cfg{$k} = $q->param($k) if ! exists $cfg{$k}; }
$self->get_version($q, \%cfg);
Return: $t - HTML code
This method forms HTML code to show demorgraphic information about the subject.
check_timeout($cgi, $ar)
Input variables:
$cgi - CGI object
$ar - Array ref containing all the parameters
Variables used or routines called:
None.
How to use:
my $q = new CGI;
my %cfg = (usr=>'jsmith', pwd=>'jojo');
my @names = $q->param;
foreach my $k (@names) { $cfg{$k} = $q->param($k) if ! exists $cfg{$k}; }
$self->check_timeout($q, \%cfg);
Return: 1 or 0: 1 - timed out; 0 - not timed out
This method checks to see if the session has been timed out. The default time out is 20 minutes.
get_access ($cgi,$ar)
Input variables:
$cgi - CGI object
$ar - Array ref containing all the parameters
Variables used or routines called:
None
How to use:
my $q = new CGI;
my %cfg = (usr=>'jsmith', pwd=>'jojo');
my @names = $q->param;
foreach my $k (@names) { $cfg{$k} = $q->param($k) if ! exists $cfg{$k}; }
$self->get_access($q, \%cfg);
Return: $hr - access hash array ref: ${$hr}{uid|gid}{$name} = $uid|$giu
This method retrieves portal access user and group files and access_users and access_groups in the configuration file to build an access list.
check_user ($cgi,$ar)
Input variables:
$cgi - CGI object
$ar - Array ref containing all the parameters
Variables used or routines called:
disp_param - display parameters
get_cookies - get cookies
get_access - get access information
How to use:
my $q = new CGI;
my %cfg = (usr=>'jsmith', pwd=>'jojo');
my @names = $q->param;
foreach my $k (@names) { $cfg{$k} = $q->param($k) if ! exists $cfg{$k}; }
$self->check_user($q, \%cfg);
Return: $n - status code
0 - no user name from input nor from cookie
1 - user name does not exists
2 - user does not belong to any group which has granted access
>9 - user has access to the application
A successful user authentication includes: 1) the user has to be a valid web portal user; 2) user's password matches 3) user has to be a authorized user or in an authorized group to use this application. The autorization parameters are access_users and access_groups in the configuration file.