##
#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::Carp ('fatalsToBrowser');
use CGI::Session;
use CGI::Session::Auth::DBI;
use CGI::Carp;
use DBI;
use Data::Dumper;
# CGI object for headers, cookies, etc.
my $cgi = new CGI;
my $dbh = DBI->connect("DBI:PgPP:dbname=db","username","password");
my $session = new CGI::Session("driver:PostgreSQL", undef, {Handle=>$dbh});
my $auth = new CGI::Session::Auth::DBI({
CGI => $cgi,
Session => $session,
DBHandle => $dbh,
UserTable => 'users'
});
print "Error\n" if ( not defined $auth );
$auth->authenticate();
# check if visitor has already logged in
if ($auth->loggedIn) {
&showSecretPage;
}
else {
&showLoginPage;
}
sub showLoginPage {
print $cgi->redirect('https://192.168.0.1/login.html');
}
sub showSecretPage {
print $session->header;
print qq~\n~;
}
####
Login
####
--
-- PostgreSQL database dump
--
SET client_encoding = 'LATIN1';
SET check_function_bodies = false;
SET client_min_messages = warning;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: users; Type: TABLE; Schema: public; Owner: dbusername; Tablespace:
--
CREATE TABLE users (
userid character varying(50) NOT NULL,
first_name character varying(40) NOT NULL,
last_name character varying(40) NOT NULL,
passwd character varying(16) NOT NULL,
email character varying(100) NOT NULL,
privilege character varying(2) NOT NULL,
username character varying(40) NOT NULL
);
ALTER TABLE public.users OWNER TO dbusername;
--
-- Name: userid; Type: DEFAULT; Schema: public; Owner: dbusername
--
ALTER TABLE users ALTER COLUMN userid SET DEFAULT nextval('"users_user_ID_seq"'::regclass);
--
-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: dbusername
--
COPY users (userid, first_name, last_name, passwd, email, privilege, username) FROM stdin;
325684ec1b028eaf562dd484c5607a65 Allan Hubert pass adam@mysite.org 0 test
\.
--
-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: dbusername; Tablespace:
--
ALTER TABLE ONLY users
ADD CONSTRAINT users_pkey PRIMARY KEY (userid);
--
-- PostgreSQL database dump complete
--