I have done this once on a un*x host, using Authen::Smb.
There are propably better ways if you are on a NT host, but anyway, some code:
use strict;
use Authen::Smb qw(NTV_NO_ERROR);
my $pdc = "primary";
my $bdc = undef;
my $nt_domain = "DOMAIN";
....
....
sub password_ok {
my ($username, $password) = @_;
my $r = {};
my $authResult = Authen::Smb::authen ($username,$password, $pdc, $bd
+c, $nt_domain);
if ($authResult == $Smb::Authen::NTV_NO_ERROR) {
if ($r = $mondb->get_user_data($username)) {
return $r;
} else {
return {error=>"user not authorized"};
}
} else {
$l->log("E", "User [$username] not authenticated with error level
+$authResult: $smb_errtext{$authResult}");
return {error=>"user authentification error"};
}
return undef;
}
---- kurt