my ($type, %params) = @_;
my $self = bless {}, $type;
$self->_read_auth_config(%params);
$self->reset;
my ($type, %params) = @_;
my $self = bless {}, $type;
$self->_read_auth_config(%params);
$self->reset;
my ($self, %params) = @_;
map { $self->{$_} = $::lx_office_conf{authentication}->{$_} } keys %{ $::lx_office_conf{authentication} };
my ($self, %params) = @_;
map { $self->{$_} = $::lx_office_conf{authentication}->{$_} } keys %{ $::lx_office_conf{authentication} };
my ($self, $password) = @_;
my $session_root_auth = $self->get_session_value(SESSION_KEY_ROOT_AUTH());
if (defined $session_root_auth && $session_root_auth == OK) {
my ($self, $password) = @_;
my $session_root_auth = $self->get_session_value(SESSION_KEY_ROOT_AUTH());
if (defined $session_root_auth && $session_root_auth == OK) {
my $result = $password eq $admin_password ? OK : ERR_PASSWORD;
$self->set_session_value(SESSION_KEY_ROOT_AUTH() => $result);
my $result = $password eq $admin_password ? OK : ERR_PASSWORD;
$self->set_session_value(SESSION_KEY_ROOT_AUTH() => $result);
my ($self, $login, $password) = @_;
if (!$self->client || !$self->has_access_to_client($login)) {
my ($self, $login, $password) = @_;
if (!$self->client || !$self->has_access_to_client($login)) {
return ERR_PASSWORD;
}
my $session_auth = $self->get_session_value(SESSION_KEY_USER_AUTH());
if (defined $session_auth && $session_auth == OK) {
return ERR_PASSWORD;
}
my $session_auth = $self->get_session_value(SESSION_KEY_USER_AUTH());
if (defined $session_auth && $session_auth == OK) {
return ERR_PASSWORD;
}
my $result = $login ? $self->{authenticator}->authenticate($login, $password) : ERR_USER;
$self->set_session_value(SESSION_KEY_USER_AUTH() => $result, login => $login, client_id => $self->client->{id});
return ERR_PASSWORD;
}
my $result = $login ? $self->{authenticator}->authenticate($login, $password) : ERR_USER;
$self->set_session_value(SESSION_KEY_USER_AUTH() => $result, login => $login, client_id => $self->client->{id});
my $self = shift;
my $dbh = $self->dbconnect();
$dbh->rollback();
SL::DBUpgrade2->new(form => $::form)->process_query($dbh, 'sql/auth_db.sql');
my $self = shift;
my $dbh = $self->dbconnect();
$dbh->rollback();
SL::DBUpgrade2->new(form => $::form)->process_query($dbh, 'sql/auth_db.sql');
my ($self, $login, $new_password) = @_;
my $result = $self->{authenticator}->change_password($login, $new_password);
my ($self, $login, $new_password) = @_;
my $result = $self->{authenticator}->change_password($login, $new_password);
my ($self, %params) = @_;
my $dbh = $self->dbconnect();
my ($self, %params) = @_;
my $dbh = $self->dbconnect();
my $self = shift;
my $login = shift;
my $dbh = $self->dbconnect();
my ($id) = selectrow_query($main::form, $dbh, qq|SELECT id FROM auth."user" WHERE login = ?|, $login);
my $self = shift;
my $login = shift;
my $dbh = $self->dbconnect();
my ($id) = selectrow_query($main::form, $dbh, qq|SELECT id FROM auth."user" WHERE login = ?|, $login);
# do_query($::form, $u_dbh, qq|UPDATE employee SET deleted = 't' WHERE login = ?|, $login) if $u_dbh && $user_db_exists;
$dbh->commit;
# do_query($::form, $u_dbh, qq|UPDATE employee SET deleted = 't' WHERE login = ?|, $login) if $u_dbh && $user_db_exists;
$dbh->commit;
$cookie_is_bad ||= $cookie->{ip_address} ne $ENV{REMOTE_ADDR} if !$api_token_cookie;
if ($cookie_is_bad) {
$self->destroy_session();
$cookie_is_bad ||= $cookie->{ip_address} ne $ENV{REMOTE_ADDR} if !$api_token_cookie;
if ($cookie_is_bad) {
$self->destroy_session();
my @data;
map { push @data, int(rand() * 255); } (1..32);
my $id = md5_hex(pack 'C*', @data);
my @data;
map { push @data, int(rand() * 255); } (1..32);
my $id = md5_hex(pack 'C*', @data);
# the admin is just trying to create the auth database.
if (!$dbh->do(qq|LOCK auth.session_content|)) {
$dbh->rollback unless $provided_dbh;
# the admin is just trying to create the auth database.
if (!$dbh->do(qq|LOCK auth.session_content|)) {
$dbh->rollback unless $provided_dbh;
my $self = shift;
# Only re-check for the presence of auth tables if either the check
# hasn't been done before of if they weren't present.
if ($self->{session_tables_present}) {
my $self = shift;
# Only re-check for the presence of auth tables if either the check
# hasn't been done before of if they weren't present.
if ($self->{session_tables_present}) {
do_query($form, $dbh, qq|DELETE FROM auth."group" WHERE id = ?|, $id);
$dbh->commit();
do_query($form, $dbh, qq|DELETE FROM auth."group" WHERE id = ?|, $id);
$dbh->commit();
my ($self, $right, $dont_abort) = @_;
if ($self->check_right($::myconfig{login}, $right)) {
my ($self, $right, $dont_abort) = @_;
if ($self->check_right($::myconfig{login}, $right)) {
my ($self, $login) = @_;
my $dbh = $self->dbconnect;
my ($query, $sth, $row, $rights);
$rights = { map { $_ => 0 } all_rights() };
my ($self, $login) = @_;
my $dbh = $self->dbconnect;
my ($query, $sth, $row, $rights);
$rights = { map { $_ => 0 } all_rights() };
$query =
qq|SELECT gr."right", gr.granted
FROM auth.group_rights gr
$query =
qq|SELECT gr."right", gr.granted
FROM auth.group_rights gr