package Catalyst::Authentication::Credential::Remote;
+use Moose;
+use namespace::autoclean;
-use strict;
-use warnings;
+with 'MooseX::Emulate::Class::Accessor::Fast';
-use base 'Class::Accessor::Fast';
+use Try::Tiny qw/ try catch /;
-BEGIN {
- __PACKAGE__->mk_accessors(
- qw/allow_re deny_re cutname_re source realm username_field/);
-}
+__PACKAGE__->mk_accessors(
+ qw/allow_re deny_re cutname_re source realm username_field/);
sub new {
my ( $class, $config, $app, $realm ) = @_;
bless $self, $class;
# we are gonna compile regular expresions defined in config parameters
- # and explicitly throw an exception saying what parameter was invalid
- if (defined($config->{allow_regexp}) && ($config->{allow_regexp} ne "")) {
- eval { $self->allow_re( qr/$config->{allow_regexp}/ ) };
- Catalyst::Exception->throw( "Invalid regular expression in ".
- "'allow_regexp' configuration parameter") if $@;
+ # and explicitly throw an exception saying what parameter was invalid
+ if (defined($config->{allow_regexp}) && ($config->{allow_regexp} ne "")) {
+ try { $self->allow_re( qr/$config->{allow_regexp}/ ) }
+ catch {
+ Catalyst::Exception->throw( "Invalid regular expression in ".
+ "'allow_regexp' configuration parameter");
+ };
}
- if (defined($config->{deny_regexp}) && ($config->{deny_regexp} ne "")) {
- eval { $self->deny_re( qr/$config->{deny_regexp}/ ) };
- Catalyst::Exception->throw( "Invalid regular expression in ".
- "'deny_regexp' configuration parameter") if $@;
+ if (defined($config->{deny_regexp}) && ($config->{deny_regexp} ne "")) {
+ try { $self->deny_re( qr/$config->{deny_regexp}/ ) }
+ catch {
+ Catalyst::Exception->throw( "Invalid regular expression in ".
+ "'deny_regexp' configuration parameter");
+ };
}
- if (defined($config->{cutname_regexp}) && ($config->{cutname_regexp} ne "")) {
- eval { $self->cutname_re( qr/$config->{cutname_regexp}/ ) };
- Catalyst::Exception->throw( "Invalid regular expression in ".
- "'cutname_regexp' configuration parameter") if $@;
+ if (defined($config->{cutname_regexp}) && ($config->{cutname_regexp} ne "")) {
+ try { $self->cutname_re( qr/$config->{cutname_regexp}/ ) }
+ catch {
+ Catalyst::Exception->throw( "Invalid regular expression in ".
+ "'cutname_regexp' configuration parameter");
+ };
}
$self->source($config->{source} || 'REMOTE_USER');
$self->realm($realm);
# maybe show warning that we are gonna use DEPRECATED $req->user
if (ref($c->req->user)) {
# I do not know exactly when this happens but it happens
- Catalyst::Exception->throw( "Cannot get remote user from ".
- "\$c->req->user as it seems to be a reference not a string" );
- }
- else {
- $remuser = $c->req->user;
- }
+ Catalyst::Exception->throw( "Cannot get remote user from ".
+ "\$c->req->user as it seems to be a reference not a string" );
+ }
+ else {
+ $remuser = $c->req->user;
+ }
}
}
elsif ($self->source =~ /^(SSL_CLIENT_.*|CERT_*|AUTH_USER)$/) {