#!/usr/bin/perl -w use strict; use CGI; use CGI::Session; use CGI::Session::Auth::DBI; use CGI::Carp; use DBI; # CGI object for headers, cookies, etc. my $cgi = new CGI; my $session = new CGI::Session(undef, $cgi, {Directory=>'/tmp'}); my $auth = new CGI::Session::Auth({ CGI => $cgi, Session => $session, DSN => 'DBI:PgPP:dbname=databasename', UserTable => 'users', DBUser => 'dbusername', DBPasswd => 'dbpassword', DBAttr => 'PrintError => 1, RaiseError => 1' }); $auth->authenticate(); # check if visitor has already logged in if ($auth->loggedIn) { &showSecretPage; } else { &showLoginPage; } sub showLoginPage { print $cgi->header; print < Login

Password:

Username:

 

EOF } sub showSecretPage { print $cgi->header; print "Sucess!"; } #### -- -- 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 --