X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FAuthentication.pod;h=5919ba9fc463adacc2f300e2a08f92fa86481f6c;hb=7d310f12e2caaf8e94e8f7f94e88d46698c77fde;hp=3a67fa73f513b2e3032287fb9d0066be15e2b7b0;hpb=cc548726047214bd2b51a6b3a287896ac65b7b9b;p=catagits%2FCatalyst-Runtime.git
diff --git a/lib/Catalyst/Manual/Tutorial/Authentication.pod b/lib/Catalyst/Manual/Tutorial/Authentication.pod
index 3a67fa7..5919ba9 100644
--- a/lib/Catalyst/Manual/Tutorial/Authentication.pod
+++ b/lib/Catalyst/Manual/Tutorial/Authentication.pod
@@ -45,7 +45,7 @@ L
=item 9
-L
+L
=back
@@ -63,8 +63,7 @@ B: Note that all of the code for this part of the tutorial can be
pulled from the Catalyst Subversion repository in one step with the
following command:
- svn checkout http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial@###
- IMPORTANT: Does not work yet. Will be completed for final version.
+ svn co http://dev.catalyst.perl.org/repos/Catalyst/tags/examples/Tutorial/MyApp/5.7/Authentication MyApp
=head1 BASIC AUTHENTICATION
@@ -333,7 +332,7 @@ Again, notice that your "result source" classes have been "re-loaded" by Catalys
=head2 Include Authentication and Session Plugins
-Edit C and update it as follows (everything below C is new):
+Edit C and update it as follows (everything below C is new):
use Catalyst qw/
-Debug
@@ -341,7 +340,6 @@ Edit C and update it as follows (everything below C is
Static::Simple
StackTrace
- DefaultEnd
Authentication
Authentication::Store::DBIC
@@ -415,15 +413,21 @@ 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 and add:
+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:
- =head2 base
+ $c->response->body('Matched MyApp::Controller::Login in Login.');
+
+Then update it to match:
+
+ =head2 index
Login logic
=cut
- sub base :Path :Args(0) {
+ sub index : Private {
my ($self, $c) = @_;
# Get the username and password from form
@@ -454,29 +458,34 @@ 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.
-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.
-
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.
-Next, create a corresponding method in C:
+Another options 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
+C.
- =head2 base
+Next, update the corresponding method in C
+to match:
+
+ =head2 index
Logout logic
=cut
- sub base :Path :Args(0) {
+ sub index : Private {
my ($self, $c) = @_;
# Clear the user's state
@@ -486,8 +495,9 @@ Next, create a corresponding method in C:
$c->response->redirect($c->uri_for('/'));
}
-Note that we are using the same C style
-of action as with the login logic.
+As with the login controller, be sure to delete the
+C<$c->response->body('Matched MyApp::Controller::Logout in Logout.');>
+line of the C.
=head2 Add a Login Form TT Template Page
@@ -655,11 +665,11 @@ bottom:
Create
-Reload your browser and you should now see a "Login" and "Create" links
-at the bottom of the page (as mentioned earlier, you can update
-template files without reloading the development server). Click this
-link to return to the login page. This time you I see the
-"You are already logged in" message.
+Reload your browser and you should now see a "Login" and "Create" links
+at the bottom of the page (as mentioned earlier, you can update template
+files without reloading the development server). Click the first link
+to return to the login page. This time you I see the "You are
+already logged in" message.
Finally, click the C link on the C page.
You should stay at the login page, but the message should change to "You
@@ -765,12 +775,23 @@ You should now be able to go to L and
login as before. When done, click the "Logout" link on the login page
(or point your browser at L).
+B If you receive the debug screen in your browser with a
+C error message,
+make sure that you are using v0.07 of
+L.
+The following command can be a useful way to quickly dump the version number
+of this module on your system:
+
+ perl -MCatalyst::Plugin::Authorization::ACL -e 'print $Catalyst::Plugin::Authorization::ACL::VERSION, "\n";'
+
=head1 AUTHOR
Kennedy Clark, C
-Please report any errors, issues or suggestions to the author.
+Please report any errors, issues or suggestions to the author. The
+most recent version of the Catalyst Tutorial can be found at
+L.
Copyright 2006, Kennedy Clark, under Creative Commons License
(L).