X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FAuthentication.pod;h=66225d8911d2d9b7ff72b32b831a4d931f82a7fc;hp=ff5545ba5c721d6292bc38e4d94632976fa5450b;hb=85d49fb613ae5aabb76647ec250e3d450fabb521;hpb=f31c1c33b094373d764a794ea5246ee33a4497b8 diff --git a/lib/Catalyst/Manual/Tutorial/Authentication.pod b/lib/Catalyst/Manual/Tutorial/Authentication.pod index ff5545b..66225d8 100644 --- a/lib/Catalyst/Manual/Tutorial/Authentication.pod +++ b/lib/Catalyst/Manual/Tutorial/Authentication.pod @@ -357,9 +357,11 @@ you could have a C controller with both C and C actions. Remember, Catalyst is designed to be very flexible, and leaves such matters up to you, the designer and programmer. -Then open C, locate the C method (this was automatically inserted by the helpers when we -created the Login controller above), and delete this line: +Then open C, locate the C method (or C if you are using an +older version of Catalyst) that was automatically inserted by the +helpers when we created the Login controller above, and delete this +line: $c->response->body('Matched MyApp::Controller::Login in Login.'); @@ -371,7 +373,7 @@ Then update it to match: =cut - sub index : Private { + sub index :Path :Args(0) { my ($self, $c) = @_; # Get the username and password from form @@ -403,22 +405,21 @@ will stay at the login page but receive an error message. If the C and C values are not present in the form, the user will be taken to the empty login form. -Note that we could have used something like C; -however, the use of C actions is discouraged because it does -not receive path args as with other actions. The recommended practice -is to only use C in C. - -Another option would be to use something like -C (where the C<...> refers to the login -code shown in C above). We are using C here to specifically match the URL C. -C actions (aka, "literal actions") create URI matches relative to -the namespace of the controller where they are defined. Although -C supports arguments that allow relative and absolute paths to be -defined, here we use an empty C definition to match on just the -name of the controller itself. The method name, C, is arbitrary. -We make the match even more specific with the C<:Args(0)> action -modifier -- this forces the match on I C, not +Note that we could have used something like C, +however partly for historical reasons, and partly for code clarity it +is generally recommended only to use C in +C, and then mainly to generate the 404 not +found page for the application. + +Instead, we are using C here to +specifically match the URL C. C actions (aka, "literal +actions") create URI matches relative to the namespace of the +controller where they are defined. Although C supports +arguments that allow relative and absolute paths to be defined, here +we use an empty C definition to match on just the name of the +controller itself. The method name, C, is arbitrary. We make +the match even more specific with the C<:Args(0)> action modifier -- +this forces the match on I C, not C. Next, update the corresponding method in @@ -430,7 +431,7 @@ C to match: =cut - sub index : Private { + sub index :Path :Args(0) { my ($self, $c) = @_; # Clear the user's state @@ -620,7 +621,10 @@ running) and restart it: B If you are having issues with authentication on Internet Explorer, be sure to check the system clocks on both your server and client machines. Internet Explorer is very picky about -timestamps for cookies. +timestamps for cookies. Note that you can quickly sync an Ubuntu +system with the following command: + + sudo ntpdate ntp.ubuntu.com Now trying going to L and you should be redirected to the login page, hitting Shift+Reload if necessary (the