Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f7417f07

Von Moritz Bunkus vor 3 Monaten hinzugefügt

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

Auth: automatisches SSO mittels gewisser HTTP-Header

Unterschiede anzeigen:

SL/Dispatcher/AuthHandler/None.pm
package SL::Dispatcher::AuthHandler::None;
use strict;
use parent qw(SL::Dispatcher::AuthHandler::Base);
use parent qw(Rose::Object);
use SL::Auth::Constants;
sub handle {
%::myconfig = User->get_default_myconfig;
my ($self) = @_;
my ($http_auth_login, $http_auth_password) = $self->_parse_http_basic_auth;
my ($http_headers_client, $http_headers_login) = $self->_parse_http_headers_auth;
my $client_id = $http_headers_client // $::auth->get_default_client_id;
my $login = $http_headers_login // $http_auth_login;
if ($client_id && $login) {
$::auth->set_client($client_id);
%::myconfig = User->get_default_myconfig($::auth->read_user(login => $login));
$::auth->create_or_refresh_session;
$::auth->set_session_value('client_id', $client_id);
$::auth->set_session_value('login', $login);
$::auth->set_session_authenticated($login, SL::Auth::Constants::SESSION_OK());
} else {
%::myconfig = User->get_default_myconfig;
}
return 1;
}

Auch abrufbar als: Unified diff