I realized that you don't even have to set password_field correctly. Something was going terribly wrong in my head, sorry for that. Only "password_type" has to be set to "self_check", but this is documented.
This means that there is no tricky part at all. Just configure both modules as described in their documentation. Lukas On 03/11/2013 07:54 PM, Lukas Thiemeier wrote: > Hi, > > I just had some time to try it: C::Authentication::Credential::HTTP and > C::Authentication::Store::Htpasswd work together just fine. Here is my > setup: > > in TestApp.pm: > > use Catalyst qw/ > ConfigLoader > Authentication > /; > > __PACKAGE__->config( > "Plugin::Authentication" => { > realms => { > default => { > credential => { > class => 'HTTP', > type => "basic", > password_field => 'check_password', > password_type => 'self_check', > }, > store => { > class => 'Htpasswd', > file => "/tmp/htpasswd", > }, > }, > }, > }, > ); > > > and in Controller/Root.pm (or wherever you need it): > > sub index :Path :Args(0) { > my ( $self, $c ) = @_; > $c->authenticate; > > if($c->user_exists){ > $c->res->body("logged in"); > } > } > > The tricky part is that you have to set "password_field" and > "password_type" correctly, which is not documented. (You have to know > how Catalyst Authentication works and read the docs for Authen::Htpasswd > to find out) > > I still recommend to use C::A::Credential::Remote. Let the server do the > job, and keep your application small and simple. > > Plus: You can add digest authentication, certificate authentication, > kerberos authentication and whatever your server supports without > modifying your application. > > Lukas > > > > On 03/11/2013 03:10 PM, Robert Rothenberg wrote: >> I have a project that requires using HTTP authentication. >> >> There is a Catalyst::Authentication::Credential::HTTP module, but from the >> documentation, it does not seem to support using htpasswd files, which I >> need, because a separate web site will be using that file. >> >> There is Catalyst::Authentication::Store::Htpasswd, but it does not work >> with Catalyst::Authentication::Credential::HTTP. >> >> I'm not clear on how to do this, without having to write my own handlers for >> HTTP authentication. >> >> >> _______________________________________________ >> List: Catalyst@lists.scsys.co.uk >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ >> Dev site: http://dev.catalyst.perl.org/ > > > _______________________________________________ > List: Catalyst@lists.scsys.co.uk > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ > Dev site: http://dev.catalyst.perl.org/ _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/