From: Kennedy Clark Date: Sun, 25 Jun 2006 21:29:21 +0000 (+0000) Subject: Misc minor fixups. X-Git-Tag: 5.7099_04~461 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=a63e6e6726445baeea08771316b3ce44a495a96a Misc minor fixups. --- diff --git a/lib/Catalyst/Manual/Tutorial/Authentication.pod b/lib/Catalyst/Manual/Tutorial/Authentication.pod index 1626b1c..c33946b 100644 --- a/lib/Catalyst/Manual/Tutorial/Authentication.pod +++ b/lib/Catalyst/Manual/Tutorial/Authentication.pod @@ -72,6 +72,7 @@ following command: This section explores how to add authentication logic to a Catalyst application. + =head2 Add Users and Roles to the Database First, we add both user and role information to the database (we will @@ -354,22 +355,25 @@ Edit C and update it as follows (everything below C is The three C plugins work together to support Authentication while the C plugins are required to maintain state across multiple HTTP requests. Note that there are several -options for L (although -L +options for L +(L is generally a good choice if you are on Unix; try L if you are on Win32) -- consult L and its subclasses for additional information. + =head2 Configure Authentication Although C<__PACKAGE__-Econfig(name =E 'value');> is still supported, newer Catalyst applications tend to place all configuration information in C and automatically load this information into -Cconfig> using the -L plugin. - -Edit the C YAML and update it to match: +Cconfig> using the +L plugin. Here, we need +to load several parameters that tell +L +where to locate information in your database. To do this, edit the +C YAML and update it to match: --- name: MyApp @@ -382,7 +386,7 @@ Edit the C YAML and update it to match: # This is the model object created by Catalyst::Model::DBIC from your # schema (you created 'MyAppDB::User' but as the Catalyst startup # debug messages show, it was loaded as 'MyApp::Model::MyAppDB::User'). - # NOTE: Omit 'MyAppDB::Model' to avoid a component lookup issue in Catalyst 5.66 + # NOTE: Omit 'MyApp::Model' to avoid a component lookup issue in Catalyst 5.66 user_class: MyAppDB::User # This is the name of the field in your 'users' table that contains the user's name user_field: username @@ -398,6 +402,7 @@ line up everything on a given 'level' with the same number of indents. Also, be sure not to use C characters (YAML does not support them because they are handled inconsistently across editors). + =head2 Add Login and Logout Controllers Use the Catalyst create script to create two stub controller files: @@ -554,9 +559,9 @@ C, C, and C. =item * -Unlike the other private C actions where only a single method -is called for each request, I auto action along the chain of -namespaces will be called. +Unlike the other actions where only a single method is called for each +request, I auto action along the chain of namespaces will be +called. =back @@ -564,6 +569,7 @@ By placing the authentication enforcement code inside the C method of C (or C), it will be called for I request that is received by the entire application. + =head2 Displaying Content Only to Authenticated Users Let's say you want to provide some information on the login page that @@ -632,11 +638,11 @@ bottom: Create

-Reload your browser and you should now see a "Login" link 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 this +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 @@ -656,7 +662,9 @@ still transmits the passwords in cleartext to your application. We are just avoiding the I of cleartext passwords in the database by using a SHA-1 hash. If you are concerned about cleartext passwords between the browser and your application, consider using SSL/TLS, made -easy with the Catalyst plugin L. +easy with the Catalyst plugin +L. + =head2 Get a SHA-1 Hash for the Password @@ -670,6 +678,7 @@ dirty" way to do this: e727d1464ae12436e899a726da5b2f11d8381b26 $ + =head2 Switch to SHA-1 Password Hashes in the Database Next, we need to change the C column of our C table to @@ -690,6 +699,7 @@ Then use the following command to update the SQLite database: B We are using SHA-1 hashes here, but many other hashing algorithms are supported. See C for more information. + =head2 Enable SHA-1 Hash Passwords in C @@ -707,7 +717,7 @@ C are new, everything else is the same): # This is the model object created by Catalyst::Model::DBIC from your # schema (you created 'MyAppDB::User' but as the Catalyst startup # debug messages show, it was loaded as 'MyApp::Model::MyAppDB::User'). - # NOTE: Omit 'MyAppDB::Model' to avoid a component lookup issue in Catalyst 5.66 + # NOTE: Omit 'MyApp::Model' to avoid a component lookup issue in Catalyst 5.66 user_class: MyAppDB::User # This is the name of the field in your 'users' table that contains the user's name user_field: username @@ -731,16 +741,12 @@ 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). + =head1 AUTHOR Kennedy Clark, C Please report any errors, issues or suggestions to the author. -Copyright 2006, Kennedy Clark. All rights reserved. - -This library is free software; you can redistribute it and/or modify it -under the same terms as Perl itself. - -Version: .94 - +Copyright 2006, Kennedy Clark, under Creative Commons License +(L). diff --git a/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod b/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod index 6a6ab1b..c3b9b1e 100644 --- a/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod +++ b/lib/Catalyst/Manual/Tutorial/BasicCRUD.pod @@ -422,6 +422,7 @@ the "Delete" link next to "TCPIP_Illustrated_Vol-2". A green "Book deleted" status message should display at the top of the page, along with a list of the six remaining books. + =head1 AUTHOR Kennedy Clark, C diff --git a/lib/Catalyst/Manual/Tutorial/Intro.pod b/lib/Catalyst/Manual/Tutorial/Intro.pod index 990ada9..a03eec7 100644 --- a/lib/Catalyst/Manual/Tutorial/Intro.pod +++ b/lib/Catalyst/Manual/Tutorial/Intro.pod @@ -321,6 +321,7 @@ part for the appropriate svn command to use). Additionally, the final code is available as a ready-to-run tarball at I. + =head1 AUTHOR Kennedy Clark, C