Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f7417f07

Von Moritz Bunkus vor 10 Tagen hinzugefügt

  • ID f7417f07b04d434bf283b919a5c8ed3128f64df9
  • Vorgänger 7800cf05
  • Nachfolger ded6b9c8

Auth: automatisches SSO mittels gewisser HTTP-Header

Unterschiede anzeigen:

SL/Auth.pm
use SL::Auth::ColumnInformation;
use SL::Auth::Constants qw(:all);
use SL::Auth::DB;
use SL::Auth::HTTPHeaders;
use SL::Auth::LDAP;
use SL::Auth::Password;
use SL::Auth::SessionValue;
......
foreach my $module (split m{ +}, $self->{module}) {
my $config_name;
($module, $config_name) = split m{:}, $module, 2;
$config_name ||= $module eq 'DB' ? 'database' : lc($module);
$config_name ||= $module eq 'DB' ? 'database' : $module eq 'HTTPHeaders' ? 'http_headers' : lc($module);
my $config = $::lx_office_conf{'authentication/' . $config_name};
if (!$config) {
......
} elsif ($module eq 'LDAP') {
push @{ $self->{authenticators} }, SL::Auth::LDAP->new($config);
} elsif ($module eq 'HTTPHeaders') {
push @{ $self->{authenticators} }, SL::Auth::HTTPHeaders->new($config);
} else {
my $locale = Locale->new('en');
$self->mini_error($locale->text('Unknown authenticantion module #1 specified in "config/kivitendo.conf".', $module));
......
return $result;
}
sub set_session_authenticated {
my ($self, $login, $result) = @_;
$self->set_session_value(SESSION_KEY_USER_AUTH() => $result, login => $login, client_id => $self->client->{id});
}
sub authenticate {
my ($self, $login, $password) = @_;
......
}
}
$self->set_session_value(SESSION_KEY_USER_AUTH() => $result, login => $login, client_id => $self->client->{id});
$self->set_session_authenticated($login, $result);
return $result;
}

Auch abrufbar als: Unified diff