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, $bdc, $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; }