[Codestriker-commits] CVS update: codestriker/bin install.pl
Brought to you by:
sits
From: <si...@us...> - 2008-09-08 07:20:16
|
User: sits Date: 08/09/08 00:20:15 Modified: lib/Codestriker/Http Response.pm lib/Codestriker/Action Authenticate.pm bin install.pl Log: Set the password hash into the cookie. Next step will be to enforce login for certain methods. Index: Response.pm =================================================================== RCS file: /cvsroot/codestriker/codestriker/lib/Codestriker/Http/Response.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- Response.pm 6 Sep 2008 06:03:56 -0000 1.53 +++ Response.pm 8 Sep 2008 07:20:14 -0000 1.54 @@ -52,6 +52,7 @@ my $projectid = ""; my $load_anchor = ""; my $topicsort = ""; + my $password_hash = ""; my $fview = -1; my $reload = $params{reload}; @@ -129,6 +130,13 @@ $topicsort = $params{topicsort}; } + if (! defined $params{password_hash} || $params{password_hash} eq "") { + $password_hash = Codestriker::Http::Cookie->get_property($query, + 'password_hash'); + } else { + $password_hash = $params{password_hash}; + } + $cookie{'email'} = $email if $email ne ""; $cookie{'reviewers'} = $reviewers if $reviewers ne ""; $cookie{'cc'} = $cc if $cc ne ""; @@ -137,6 +145,7 @@ $cookie{'repository'} = $repository if $repository ne ""; $cookie{'projectid'} = $projectid if $projectid ne ""; $cookie{'topicsort'} = $topicsort if $topicsort ne ""; + $cookie{'password_hash'} = $password_hash if $password_hash ne ""; my $cookie_obj = Codestriker::Http::Cookie->make($query, \%cookie); Index: Authenticate.pm =================================================================== RCS file: /cvsroot/codestriker/codestriker/lib/Codestriker/Action/Authenticate.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Authenticate.pm 8 Sep 2008 06:49:38 -0000 1.1 +++ Authenticate.pm 8 Sep 2008 07:20:14 -0000 1.2 @@ -24,10 +24,11 @@ my $feedback = ""; # Check if the account for this email address is valid. + my $user; if (!Codestriker::Model::User->exists($email)) { $feedback = "The username or password you entered is not valid."; } else { - my $user = Codestriker::Model::User->new($email); + $user = Codestriker::Model::User->new($email); # Check that the password entered is correct. if (! $user->check_password($password)) { @@ -42,11 +43,17 @@ print $query->redirect(-URI => $url); } else { # Redirect to the specified URL, if present, otherwise go to the default - # URL. + # URL. Get the current cookie, and set the password hash into it. + my %cookie_hash = Codestriker::Http::Cookie->get($query); + $cookie_hash{password_hash} = $user->{password_hash}; + my $cookie = Codestriker::Http::Cookie->make($query, \%cookie_hash); + if (defined $redirect && $redirect ne "") { - print $query->redirect(-URI => $redirect); + print $query->redirect(-cookie => $cookie, + -URI => $redirect); } else { - print $query->redirect(-URI => $query->url()); + print $query->redirect(-cookie => $cookie, + -URI => $query->url()); } } } Index: install.pl =================================================================== RCS file: /cvsroot/codestriker/codestriker/bin/install.pl,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- install.pl 7 Sep 2008 04:49:27 -0000 1.25 +++ install.pl 8 Sep 2008 07:20:15 -0000 1.26 @@ -1080,7 +1080,7 @@ Codestriker::Model::User->create($admin_user, 1); # TODO: consider sending email with password details. $user_added = 1; - print "Done\n"; + print "Done. You will need to use \"Reset Password\" on the login page.\n"; } else { # Existing user, check if they are an admin already. my $user = Codestriker::Model::User->new($admin_user); |