X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2F06_Authorization.pod;h=78cb1163ea11963692fde6558b58655348f46b85;hp=d26a228dacd382302a668aab5d19bb7a452845a9;hb=aa7ff3257b8cc635010cfa8caee47a45efcab1f6;hpb=444d6b277933a652eb38bbeae072dbdfbe47c1c8 diff --git a/lib/Catalyst/Manual/Tutorial/06_Authorization.pod b/lib/Catalyst/Manual/Tutorial/06_Authorization.pod index d26a228..78cb116 100644 --- a/lib/Catalyst/Manual/Tutorial/06_Authorization.pod +++ b/lib/Catalyst/Manual/Tutorial/06_Authorization.pod @@ -80,28 +80,24 @@ Edit C and add C to the list: # Load plugins use Catalyst qw/ - -Debug - ConfigLoader - Static::Simple - - StackTrace - - Authentication - Authorization::Roles + -Debug + ConfigLoader + Static::Simple - Session - Session::Store::FastMmap - Session::State::Cookie - /; + StackTrace + + Authentication + Authorization::Roles + + Session + Session::Store::FastMmap + Session::State::Cookie + /; -Once again (remain sharp, by now you should be getting the hang of things) -include this additional plugin as a new dependency in the Makefile.PL file -like this: +Once again, include this additional plugin as a new dependency in +the Makefile.PL file like this: - requires ( - ... - 'Catalyst::Plugin::Authorization::Roles' => '0', - ); + requires 'Catalyst::Plugin::Authorization::Roles'; =head2 Add Role-Specific Logic to the "Book List" Template @@ -176,11 +172,9 @@ updating C to match the following code: # Note: Above is a shortcut for this: # $book->create_related('book_authors', {author_id => $author_id}); - # Assign the Book object to the stash for display in the view - $c->stash->{book} = $book; - - # Set the TT template to use - $c->stash->{template} = 'books/create_done.tt2'; + # Assign the Book object to the stash and set template + $c->stash(book => $book, + template => 'books/create_done.tt2'); } else { # Provide very simple feedback to the user. $c->response->body('Unauthorized!'); @@ -206,10 +200,9 @@ C and C<=end> after the closing C<}>. =head2 Try Out Authentication And Authorization -Press C to kill the previous server instance (if it's still -running) and restart it: +Make sure the development server is running: - $ script/myapp_server.pl + $ script/myapp_server.pl -r Now trying going to L and you should be taken to the login page (you might have to C or @@ -262,7 +255,7 @@ this method to our Result Class. Open C and add the following method below the "C" line: - =head 2 has_role + =head2 has_role Check if a user has the specified role @@ -318,7 +311,7 @@ C and add this method: sub error_noperms :Chained('/') :PathPart('error_noperms') :Args(0) { my ($self, $c) = @_; - $c->stash->{template} = 'error_noperms.tt2'; + $c->stash(template => 'error_noperms.tt2'); } And also add the template file by putting the following text into @@ -326,10 +319,6 @@ C: Permission Denied -Then run the Catalyst development server script: - - $ script/myapp_server.pl - Log in as C and create several new books using the C feature: