#!/usr/bin/perl use Dancer2; use lib '../lib'; use Dancer2::Plugin::Auth::Extensible; get '/' => sub { my $content = "
Hi there, $user->{name}!
"; $content .= ''; } else { $content .= "Why not log in?
"; $content .= 'Users:
';
$content .= 'beerdrinker/password
';
$content .= 'vodkadrinker/secret
';
$content .= 'arakdrinker/arak
';
$content .= '
You can drink beer
"; } if (user_has_role('Wine_Drinker')) { $content .= "You can drink wine
"; } if (user_has_role('Vodka_Drinker')) { $content .= "You can drink vodka
"; } if (user_has_role('Arak_Drinker')) { $content .= "You can drink Arak
"; } if (user_has_role('Heavy_Drinker')) { $content .= "You can drink anything
"; } return $content; }; get '/secret' => require_login sub { "Only logged-in users can see this. You are logged in as user " . logged_in_user->{name} }; get '/beer' => require_any_role [qw(Beer_Drinker Vodka_Drinker)], sub { "Any drinker can get beer."; }; get '/vodka' => require_role Vodka_Drinker => sub { "Only vode drinkers get vodka"; }; get '/sake' => require_role Heavy_Drinker => sub { "Only heavy drinkers get sake"; }; get '/realm' => require_login sub { "You are logged in using realm: " . session->{logged_in_user_realm}; }; dance();