NAME
   Dancer::Plugin::Auth::Htpasswd - Basic HTTP authentication with htpasswd
   files in Dancer apps

VERSION
   Version 0.014

SYNOPSIS
   Dancer::Plugin::Auth::Htpasswd allows you to use Apache-style htpasswd
   files to implement basic HTTP authentication in Dancer web applications.

   Add the plugin to your application:

       use Dancer::Plugin::Auth::Htpasswd;

   In the configuration file, list the paths that you want to protect and
   the htpasswd files to use:

       plugins:
         "Auth::Htpasswd":
           paths:
             "/restricted": /path/to/htpasswd
             "/secret/documents":
               realm: "Top Secret Documents"
               passwd_file: /different/path/to/htpasswd

   You can also enable authentication by calling the `auth_htpasswd'
   function in a before filter:

       before sub {
           auth_htpasswd realm => 'Secret Files',
                         passwd_file => '/path/to/htpasswd';
       };

   or in a route handler:

       get '/restricted' => sub {
           auth_htpasswd '/path/to/htpasswd';

           # Authenticated
           ...
       };

DESCRIPTION
   Dancer::Plugin::Auth::Htpasswd provides a simple way to implement basic
   HTTP authentication in Dancer web applications using Apache-style
   htpasswd files.

CONFIGURATION
   To configure the plugin, add its options in the `plugins' section of
   your application's configuration file. The supported options are listed
   below.

 paths
   Defines one or more paths that will be protected, including sub-paths
   (so if the path is `"/restricted"', then
   `"/restricted/secret/file.html"' will also be protected). Each path can
   have the following parameters:

   * `passwd_file'
       Location of the htpasswd file.

   * `realm'
       Realm name that will be displayed in the authentication dialog.
       Default: `"Restricted area"'

   Example:

       plugins:
         "Auth::Htpasswd":
           paths:
             "/classified":
               realm: "Classified Files"
               passwd_file: /path/to/htpasswd

   If you don't need to set the realm, you can use the simplified syntax
   with just the location of the htpasswd file:

       plugins:
         "Auth::Htpasswd":
           paths:
             "/secret/documents": /path/to/htpasswd
             "/restricted": /another/path/to/htpasswd

SUBROUTINES
 auth_htpasswd
   Call this function in a before filter or at the beginning of a route
   handler. It checks the specified htpasswd file to verify if the client
   is authorized to access the requested path -- if not, it immediately
   returns a 401 Unauthorized response to prompt the user to authenticate.

   You can call this function with a single parameter, which is the
   location of the htpasswd file to use:

       auth_htpasswd '/path/to/htpasswd';

   or, with a hash of parameters:

       auth_htpasswd realm => 'Authorized personnel only',
                     passwd_file => '/path/to/htpasswd';

   Parameters:

   * `passwd_file'
       Location of the htpasswd file.

   * `realm'
       Realm name that will be displayed in the authentication dialog.
       Default: `"Restricted area"'

AUTHOR
   Michal Wojciechowski, `<odyniec at cpan.org>'

BUGS
   Please report any bugs or feature requests to
   `bug-dancer-plugin-auth-htpasswd at rt.cpan.org', or through the web
   interface at
   http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Dancer-Plugin-Auth-Htpass
   wd. I will be notified, and then you'll automatically be notified of
   progress on your bug as I make changes.

SUPPORT
   You can find documentation for this module with the perldoc command.

       perldoc Dancer::Plugin::Auth::Htpasswd

   You can also look for information at:

   * RT: CPAN's request tracker
       http://rt.cpan.org/NoAuth/Bugs.html?Dist=Dancer-Plugin-Auth-Htpasswd

   * AnnoCPAN: Annotated CPAN documentation
       http://annocpan.org/dist/Dancer-Plugin-Auth-Htpasswd

   * CPAN Ratings
       http://cpanratings.perl.org/d/Dancer-Plugin-Auth-Htpasswd

   * Search CPAN
       http://search.cpan.org/dist/Dancer-Plugin-Auth-Htpasswd/

ACKNOWLEDGEMENTS
   The plugin uses the Authen::Htpasswd module, written by David Kamholz
   and Yuval Kogman.

LICENSE AND COPYRIGHT
   Copyright 2011 Michal Wojciechowski.

   This program is free software; you can redistribute it and/or modify it
   under the terms of either: the GNU General Public License as published
   by the Free Software Foundation; or the Artistic License.

   See http://dev.perl.org/licenses/ for more information.