- Timestamp:
- 04/28/17 10:54:50 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Tools/LoadPasswd.pm
r2003 r2006 2 2 use Moose; 3 3 use namespace::autoclean; 4 5 use LATMOS::Accounts::Log; 4 6 5 7 BEGIN { extends 'Catalyst::Controller'; } … … 25 27 my ( $self, $c ) = @_; 26 28 27 my $account = $c->model('Account ');29 my $account = $c->model('Accounts'); 28 30 29 31 if (my $upload = $c->req->upload('input')) { 30 32 31 33 my $crypt = $c->req->param('crypt'); 34 my $force = $c->req->param('force'); 32 35 33 36 my $fh = $upload->fh; 34 37 while (my $line = <$fh>) { 35 my ($username, $password) = split(/:/ );38 my ($username, $password) = split(/:/, $line); 36 39 $username or next; 37 40 $password or next; 38 41 39 42 if ($crypt) { 40 my $user = $c->model('Accounts')->db->get_objects('user', $username) 41 or next; 42 $user->InjectCryptPasswd($password); 43 my $user = $account->db->get_objects('user', $username) 44 or do { 45 push(@{ $c->stash->{Pass} }, { u => $username, r => 'No such user' }); 46 next; 47 }; 48 $account->db->check_acl($user, 'userPassword', 'w') 49 or do { 50 push(@{ $c->stash->{Pass} }, { u => $username, r => 'Permission denied' }); 51 next; 52 }; 53 54 if ($user->InjectCryptPasswd($password)) { 55 push(@{ $c->stash->{Pass} }, { u => $username, r => 'Injected' }); 56 } else { 57 push(@{ $c->stash->{Pass} }, { u => $username, r => 'Error: ' . LATMOS::Accounts::Log::lastmessage(LA_ERR) }); 58 } 43 59 } else { 44 $c->model('Accounts')->ChangeUserPassword($username, $password); 60 my $message = $account->ChangeUserPassword($username, $password, $force); 61 push(@{ $c->stash->{Pass} }, { u => $username, r => $message || 'Changed' }); 45 62 } 46 63 } 47 64 } 48 65 } 49 50 51 66 52 67 =encoding utf8
Note: See TracChangeset
for help on using the changeset viewer.