Merge branch 'v2.0'

This commit is contained in:
Xavier Guimard 2019-03-26 08:09:56 +01:00
commit 4cb497e5a2
5 changed files with 33 additions and 22 deletions

View File

@ -835,6 +835,10 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
'k' => 'LDAP',
'v' => 'LDAP'
},
{
'k' => 'LinkedIn',
'v' => 'LinkedIn'
},
{
'k' => 'PAM',
'v' => 'PAM'

View File

@ -923,9 +923,9 @@ sub attributes {
flags => 'm',
},
viewerAllowBrowser => {
type => 'bool',
default => 0,
documentation => 'Allow configuration browser',
type => 'bool',
default => 0,
documentation => 'Allow configuration browser',
},
# Notification
@ -3108,6 +3108,7 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
{ k => 'GPG', v => 'GPG' },
{ k => 'Kerberos', v => 'Kerberos' },
{ k => 'LDAP', v => 'LDAP' },
{ k => 'LinkedIn', v => 'LinkedIn' },
{ k => 'PAM', v => 'PAM' },
{ k => 'Radius', v => 'Radius' },
{ k => 'REST', v => 'REST' },

File diff suppressed because one or more lines are too long

View File

@ -159,8 +159,7 @@ sub authLogout {
sub deleteSession {
my ( $self, $req ) = @_;
$req->userData( {} );
if ( my $id = $req->id ) {
if ( my $id = $req->id || $req->userData->{_session_id} ) {
my $apacheSession = $self->getApacheSession( $req->id );
unless ($apacheSession) {
$self->logger->debug("Session $id already deleted");
@ -211,6 +210,7 @@ sub deleteSession {
$req->urldc( $req->script_name . "?logout=1" );
}
}
$req->userData( {} );
# Redirect or Post if asked by authLogout
if ( $req->urldc and $req->urldc ne $self->conf->{portal} ) {

View File

@ -17,6 +17,8 @@ use strict;
use URI::Escape;
use JSON;
has trOverCache => ( is => 'rw', default => sub { {} } );
# List constants
sub authProcess { qw(extractFormInfo getUser authenticate) }
@ -184,8 +186,9 @@ sub logout {
return $self->do(
$req,
[
'controlUrl', @{ $self->beforeLogout },
'authLogout', 'deleteSession'
'importHandlerData', 'controlUrl',
@{ $self->beforeLogout }, 'authLogout',
'deleteSession'
]
);
}
@ -749,23 +752,26 @@ sub sendHtml {
# Override messages
my $trOverMessages = JSON::from_json( $self->trOver );
opendir( DIR, $templateDir );
my @langfiles = grep( /\.json$/, readdir(DIR) );
close(DIR);
unless ( $self->trOverCache->{$templateDir} ) {
opendir( DIR, $templateDir );
my @langfiles = grep( /\.json$/, readdir(DIR) );
close(DIR);
foreach my $file (@langfiles) {
my ($lang) = ( $file =~ /^(\w+)\.json/ );
$self->logger->debug("Use $file to override messages");
if ( open my $json, "<", $templateDir . "/" . $file ) {
local $/ = undef;
$trOverMessages->{$lang} = JSON::from_json(<$json>);
}
else {
$self->logger->error("Unable to read $file");
foreach my $file (@langfiles) {
my ($lang) = ( $file =~ /^(\w+)\.json/ );
$self->logger->debug("Use $file to override messages");
if ( open my $json, "<", $templateDir . "/" . $file ) {
local $/ = undef;
$trOverMessages->{$lang} = JSON::from_json(<$json>);
}
else {
$self->logger->error("Unable to read $file");
}
}
$self->trOverCache->{$templateDir} = JSON::to_json($trOverMessages);
}
$args{params}->{TROVER} = JSON::to_json($trOverMessages);
$args{params}->{TROVER} = $self->trOverCache->{$templateDir};
my $res = $self->SUPER::sendHtml( $req, $template, %args );
push @{ $res->[1] },