From: Caleb Cushing Date: Thu, 31 Dec 2009 13:14:40 +0000 (+0000) Subject: fix missing username/password in Login controller X-Git-Tag: v5.8005~68 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=commitdiff_plain;h=ab0bd0bb5e2a7d8d3e355ca3524a61c3d4c59fd6 fix missing username/password in Login controller || "" is reduntant if no credential is found it will already be empty. defined() will always return true check to see if variables are empty instead. add an else and appropriate error message in the event all credentials weren't submitted. --- diff --git a/lib/Catalyst/Manual/Tutorial/05_Authentication.pod b/lib/Catalyst/Manual/Tutorial/05_Authentication.pod index 777913c..ec3a748 100644 --- a/lib/Catalyst/Manual/Tutorial/05_Authentication.pod +++ b/lib/Catalyst/Manual/Tutorial/05_Authentication.pod @@ -388,11 +388,11 @@ and update the definition of C to match: my ($self, $c) = @_; # Get the username and password from form - my $username = $c->request->params->{username} || ""; - my $password = $c->request->params->{password} || ""; + my $username = $c->request->params->{username}; + my $password = $c->request->params->{password}; # If the username and password values were found in form - if (defined($username) && defined($password)) { + if ($username && $password) { # Attempt to log the user in if ($c->authenticate({ username => $username, password => $password } )) { @@ -404,6 +404,9 @@ and update the definition of C to match: # Set an error message $c->stash->{error_msg} = "Bad username or password."; } + } else { + # Set an error message + $c->stash->{error_msg} = "Empty username or password."; } # If either of above don't work out, send to the login page