![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# ---- CGI
my $cgi = CGI->new(); # neues CGI-Objekt erzeugen
my $query = $cgi->Vars(); # Parameter in Hash einlesen
# ---- SESSION - Settings (wird erst nach Login erstellt)
$ldata->{'data'}->{'sessionFolder'} = File::Spec->tmpdir() if File::Spec->tmpdir();
my $session = new CGI::Session(undef, $cgi, {Directory=>$ldata->{'data'}->{'sessionFolder'}});
$session->name("sid");
$session->expire($ldata->{'data'}->{'sessionExpires'});
$session->load_param($cgi); # felder angeben?
# ---- TEMPLATE
my $template = HTML::Template->new(
filename => $ldata->{'data'}->{'main_template'},
die_on_bad_params => $ldata->{'data'}->{'template'}->{'die_on_bad_params'},
vanguard_compatibility_mode => $ldata->{'data'}->{'template'}->{'vanguard_compatibility_mode'},
strict => $ldata->{'data'}->{'template'}->{'strict'},
associate => [$cgi, $session],
case_sensitive => 1,
); #
$ldata->setGlobTemplateVars( $template );
# --------------------------------------------------------
# LOGIK
# --------------------------------------------------------
if( $session->param('logedIn') ) { # wenn session existiert
# -------------- main-logic-part
$ldata->setSeite( $template, 'Administration', "Session: $session->id(); Status: " . $session->param('logedIn') );
# -------------- /main-logic-part
}else{ #wenn keine session existiert / session nicht gültig ist
if(exists($query->{'action'})
and defined($query->{'action'})
and $query->{'action'} eq 'login'
and exists($query->{'usn'})
and defined($query->{'usn'})
and exists($query->{'pwd'})
and defined($query->{'usn'}) ){
# Wenn Login, Action, USN und PWD übergeben, Validate!
if( main::login( $query->{'usn'}, $ldata, $dbh ) ){
# Fehler beim Login (falscher USN | falsches PWD), erneut einloggen
$ldata->setSeite( $template, 'Login - Fehler', main::getTemplate('s_login', $ldata, [$template]) );
}else{
# Login ok, weiter
main::setLoginDaten( $session, $cgi );
# -- Ausgabe setzen
$ldata->setSeite( $template, 'Login erfolgreich', main::getTemplate('s_login_succes', $ldata, [$template]) );
}
}else{
# Erstaufruf Login-Form
$ldata->setSeite( $template, 'Login', main::getTemplate('s_login', $ldata, [$template]) );
}
}
# -- Ausgabe
print $cgi->header(-expires=>'+1s',
-type=>'text/html',
-cookie=> $cgi->cookie( 'sid' => $session->id() ),
);
warningsToBrowser(1);
main::setBenchmark( $template ); # Benchmark
print $template->output();
1
2
3
4
5
6
7
8
9
10
sub setLoginDaten {
my $session = shift;
my $cgi = shift;
$session->param('logedIn', 1); # Login-Status setzen
$session->param('usn', $query->{'usn'});
$session->param('sid', $session->id() );
# self setzen!!!
$session->param('self', $ldata->{'data'}->{'url'}->{'admin'} .'?sid=' . $session->id() );
$session->expire('logedIn', $ldata->{'data'}->{'session_time'});
} # /setLoginDaten
QuoteCGI::Session->name("MY_SID");
# or
$session->name("MY_SID");
$session = new CGI::Session(undef, $cgi, {Directory=>'/tmp'});
$session->name("sid");
CGI::Session->name("sid");
1 2 3
my $session = "Session"; # Package Name ablegen $session->name("sid"); $session = new CGI::Session(undef, $cgi, {Directory=>'/tmp'});
![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |