Authen-Simple-Kerberos-0.1/ 0040755 0000765 0000765 00000000000 10356612563 015444 5 ustar chansen chansen Authen-Simple-Kerberos-0.1/Build.PL 0100644 0000765 0000765 00000000553 10356612563 016740 0 ustar chansen chansen use strict;
use Module::Build;
my $build = Module::Build->new(
license => 'perl',
module_name => 'Authen::Simple::Kerberos',
requires => {
'Authen::Simple' => 0,
'Authen::Krb5::Simple' => 0,
},
create_makefile_pl => 'traditional',
create_readme => 1
);
$build->create_build_script;
Authen-Simple-Kerberos-0.1/Changes 0100644 0000765 0000765 00000000150 10356612563 016730 0 ustar chansen chansen Revision history for Perl extension Authen::Simple::Kerberos
0.01 2006-01-03 00:00
- first release
Authen-Simple-Kerberos-0.1/lib/ 0040755 0000765 0000765 00000000000 10356612563 016212 5 ustar chansen chansen Authen-Simple-Kerberos-0.1/lib/Authen/ 0040755 0000765 0000765 00000000000 10356612563 017436 5 ustar chansen chansen Authen-Simple-Kerberos-0.1/lib/Authen/Simple/ 0040755 0000765 0000765 00000000000 10356612563 020667 5 ustar chansen chansen Authen-Simple-Kerberos-0.1/lib/Authen/Simple/Kerberos.pm 0100644 0000765 0000765 00000004526 10356612563 023005 0 ustar chansen chansen package Authen::Simple::Kerberos;
use strict;
use warnings;
use base 'Authen::Simple::Adapter';
use Authen::Krb5::Simple;
use Params::Validate qw[];
our $VERSION = 0.1;
__PACKAGE__->options({
realm => {
type => Params::Validate::SCALAR,
optional => 1
}
});
sub check {
my ( $self, $username, $password ) = @_;
my @arguments = $self->realm ? ( realm => $self->realm ) : ();
my $kerberos = Authen::Krb5::Simple->new(@arguments);
my $realm = $kerberos->realm;
unless ( $kerberos->authenticate( $username, $password ) ) {
my $error = $kerberos->errstr;
$self->log->debug( qq/Failed to authenticate user '$username' using realm '$realm'. Reason: '$error'/ )
if $self->log;
return 0;
}
$self->log->debug( qq/Successfully authenticated user '$username' using realm '$realm'./ )
if $self->log;
return 1;
}
1;
__END__
=head1 NAME
Authen::Simple::Kerberos - Simple Kerberos authentication
=head1 SYNOPSIS
use Authen::Simple::Kerberos;
my $kerberos = Authen::Simple::Kerberos->new(
realm => 'REALM.COMPANY.COM'
);
if ( $kerberos->authenticate( $username, $password ) ) {
# successfull authentication
}
# or as a mod_perl Authen handler
PerlModule Authen::Simple::Apache
PerlModule Authen::Simple::Kerberos
PerlSetVar AuthenSimpleKerberos_realm "REALM.COMPANY.COM"
PerlAuthenHandler Authen::Simple::Kerberos
AuthType Basic
AuthName "Protected Area"
Require valid-user
=head1 DESCRIPTION
Kerberos authentication.
=head1 METHODS
=over 4
=item * new
This method takes a hash of parameters. The following options are
valid:
=over 8
=item * realm
Kerberos realm.
realm => 'REALM.COMPANY.COM'
=item * log
Any object that supports C, C, C and C.
log => Log::Log4perl->get_logger('Authen::Simple::Kerberos')
=back
=item * authenticate( $username, $password )
Returns true on success and false on failure.
=back
=head1 SEE ALSO
L.
L.
=head1 AUTHOR
Christian Hansen C
=head1 COPYRIGHT
This program is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
Authen-Simple-Kerberos-0.1/Makefile.PL 0100644 0000765 0000765 00000000717 10356612563 017420 0 ustar chansen chansen # Note: this file was auto-generated by Module::Build::Compat version 0.03
use ExtUtils::MakeMaker;
WriteMakefile
(
'NAME' => 'Authen::Simple::Kerberos',
'VERSION_FROM' => 'lib/Authen/Simple/Kerberos.pm',
'PREREQ_PM' => {
'Authen::Krb5::Simple' => '0',
'Authen::Simple' => '0'
},
'INSTALLDIRS' => 'site',
'PL_FILES' => {}
)
;
Authen-Simple-Kerberos-0.1/MANIFEST 0100644 0000765 0000765 00000000217 10356612563 016572 0 ustar chansen chansen Build.PL
Changes
lib/Authen/Simple/Kerberos.pm
MANIFEST This list of files
t/01use.t
t/02pod.t
t/03podcoverage.t
META.yml
Makefile.PL
README
Authen-Simple-Kerberos-0.1/META.yml 0100644 0000765 0000765 00000000526 10356612563 016715 0 ustar chansen chansen ---
name: Authen-Simple-Kerberos
version: 0.1
author:
- Christian Hansen C
abstract: Simple Kerberos authentication
license: perl
requires:
Authen::Krb5::Simple: 0
Authen::Simple: 0
provides:
Authen::Simple::Kerberos:
file: lib/Authen/Simple/Kerberos.pm
version: 0.1
generated_by: Module::Build version 0.2611
Authen-Simple-Kerberos-0.1/README 0100644 0000765 0000765 00000002762 10356612563 016330 0 ustar chansen chansen NAME
Authen::Simple::Kerberos - Simple Kerberos authentication
SYNOPSIS
use Authen::Simple::Kerberos;
my $kerberos = Authen::Simple::Kerberos->new(
realm => 'REALM.COMPANY.COM'
);
if ( $kerberos->authenticate( $username, $password ) ) {
# successfull authentication
}
# or as a mod_perl Authen handler
PerlModule Authen::Simple::Apache
PerlModule Authen::Simple::Kerberos
PerlSetVar AuthenSimpleKerberos_realm "REALM.COMPANY.COM"
PerlAuthenHandler Authen::Simple::Kerberos
AuthType Basic
AuthName "Protected Area"
Require valid-user
DESCRIPTION
Kerberos authentication.
METHODS
* new
This method takes a hash of parameters. The following options are
valid:
* realm Kerberos realm.
realm => 'REALM.COMPANY.COM'
* log Any object that supports "debug", "info", "error" and
"warn".
log => Log::Log4perl->get_logger('Authen::Simple::Kerberos')
* authenticate( $username, $password )
Returns true on success and false on failure.
SEE ALSO
Authen::Simple.
Authen::Krb5::Simple.
AUTHOR
Christian Hansen "ch@ngmedia.com"
COPYRIGHT
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.
Authen-Simple-Kerberos-0.1/t/ 0040755 0000765 0000765 00000000000 10356612563 015707 5 ustar chansen chansen Authen-Simple-Kerberos-0.1/t/01use.t 0100644 0000765 0000765 00000000100 10356612563 017015 0 ustar chansen chansen use Test::More tests => 1;
use_ok('Authen::Simple::Kerberos');
Authen-Simple-Kerberos-0.1/t/02pod.t 0100644 0000765 0000765 00000000276 10356612563 017022 0 ustar chansen chansen use Test::More;
eval "use Test::Pod 1.14";
plan skip_all => 'Test::Pod 1.14 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_files_ok();
Authen-Simple-Kerberos-0.1/t/03podcoverage.t 0100644 0000765 0000765 00000000365 10356612563 020536 0 ustar chansen chansen use Test::More;
eval "use Test::Pod::Coverage 1.04";
plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_coverage_ok( { trustme => [ qr/^check$/ ] } );