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=bca8cea9b84a701a02bee5af29b3eacd15885b4d;hp=cda2f7b2c06f76f2ca20c1251237bc07e91a5fed;hb=a467a71409ca619746c5174d46a0366c957e2ac7;hpb=3ab6187c1a123983b6ae29e57f543328ce15755c diff --git a/lib/Catalyst/Manual/Tutorial/06_Authorization.pod b/lib/Catalyst/Manual/Tutorial/06_Authorization.pod index cda2f7b..bca8cea 100644 --- a/lib/Catalyst/Manual/Tutorial/06_Authorization.pod +++ b/lib/Catalyst/Manual/Tutorial/06_Authorization.pod @@ -79,7 +79,8 @@ Catalyst. Edit C and add C to the list: # Load plugins - use Catalyst qw/-Debug + use Catalyst qw/ + -Debug ConfigLoader Static::Simple @@ -93,20 +94,15 @@ Edit C and add C to the list: Session::State::Cookie /; -B As discussed in MoreCatalystBasics, different versions of -C have used a variety of methods to load the plugins. -You can put the plugins in the C statement if you -prefer. - -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', ); + =head2 Add Role-Specific Logic to the "Book List" Template Open C in your editor and add the following @@ -117,7 +113,7 @@ lines to the bottom of the file:
    [% # Dump list of roles -%] - [% FOR role = c.user.role %]
  • [% role %]
  • [% END %] + [% FOR role = c.user.roles %]
  • [% role %]
  • [% END %]

@@ -136,7 +132,7 @@ lines to the bottom of the file:

This code displays a different combination of links depending on the -roles assigned to the user. +roles assigned to the user. =head2 Limit Books::add to 'admin' Users @@ -175,9 +171,9 @@ updating C to match the following code: # Add a record to the join table for this book, mapping to # appropriate author - $book->add_to_book_author({author_id => $author_id}); + $book->add_to_book_authors({author_id => $author_id}); # Note: Above is a shortcut for this: - # $book->create_related('book_author', {author_id => $author_id}); + # $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; @@ -305,7 +301,7 @@ match the following code: # Redirect the user back to the list page $c->response->redirect($c->uri_for($self->action_for('list'))); - } + } Here, we C to an error page if the user is lacking the appropriate permissions. For this to work, we need to make @@ -318,7 +314,7 @@ C and add this method: =cut - sub error_noperms :Chained('/') :PathPath('error_noperms') :Args(0) { + sub error_noperms :Chained('/') :PathPart('error_noperms') :Args(0) { my ($self, $c) = @_; $c->stash->{template} = 'error_noperms.tt2'; @@ -355,7 +351,7 @@ Kennedy Clark, C Please report any errors, issues or suggestions to the author. The most recent version of the Catalyst Tutorial can be found at -L. +L. Copyright 2006-2008, Kennedy Clark, under Creative Commons License (L).