Enter Login Information

% if ($err) {

<%$err%>

%}
User Name
Password

Note

<%args> $user => undef $cmd => undef $pw => undef $done => undef <%shared> my $userip = $r->connection->remote_ip; <%init> my $err = ''; my $secure = &is_secure; my $session_time = $netdisco::CONFIG{websession} || 60; # Force us to login via HTTPS if configured if (!$secure){ my $page = $r->uri; my $args = $r->args; my $url = url_secure($page); HTML::Mason::Escapes::url_escape(\$args) if $args; $url .= "?$args" if ($args); $m->redirect($url); } if ($cmd eq 'login'){ $user = lc($user); my $db_user = sql_hash('users',['*'],{'username' => $user}); unless (defined $db_user->{username}){ $err .= "User Not Found.\n"; } my $md5_pw = Digest::MD5::md5_hex($pw); unless ($err or $md5_pw eq $db_user->{password}){ $err .= "Bad Login.\n"; } if ($err) { $m->session->{_logged_in} = 0; # Log Failed Attempt insert_or_update('user_log',{}, {'username'=>$user,'event'=>'login_failure', 'userip'=>$userip,'details'=>$err}); delete $m->session->{user}; delete $m->session->{user_port_ctl}; delete $m->session->{user_admin}; delete $m->session->{start}; } else { $m->session->{_logged_in} = 1; $m->session->{user} = $db_user->{username}; $m->session->{user_port_ctl} = $db_user->{port_control}; $m->session->{user_admin} = $db_user->{admin}; $m->session->{start} = time; $r->connection->user($db_user->{username}); # Update record insert_or_update('users',{'username' => $m->session->{user}}, {'last_on' => scalar(localtime)} ); # Log Login insert_or_update('user_log',{}, {'username'=>$m->session->{user},'event'=>'login', 'userip'=>$userip,'details'=>$done}); # Redirect if (defined $done and length($done)) { $m->redirect("$done"); } else { $m->redirect('.'); } } } <%method title> - Login \ %# $Id: login.html,v 1.10 2004/09/26 19:40:41 maxbaker Exp $ %# vim:syntax=mason