Update SAML cache on new configuration (references #400)
This commit is contained in:
parent
335e417067
commit
290ec606d8
@ -14,7 +14,7 @@ use Lemonldap::NG::Common::Conf::Constants; #inherits
|
|||||||
*EXPORT_TAGS = *Lemonldap::NG::Portal::Simple::EXPORT_TAGS;
|
*EXPORT_TAGS = *Lemonldap::NG::Portal::Simple::EXPORT_TAGS;
|
||||||
*EXPORT = *Lemonldap::NG::Portal::Simple::EXPORT;
|
*EXPORT = *Lemonldap::NG::Portal::Simple::EXPORT;
|
||||||
|
|
||||||
our $VERSION = '1.1.0';
|
our $VERSION = '1.2.0';
|
||||||
use base qw(Lemonldap::NG::Portal::Simple);
|
use base qw(Lemonldap::NG::Portal::Simple);
|
||||||
our $confCached;
|
our $confCached;
|
||||||
|
|
||||||
@ -45,7 +45,10 @@ sub getConf {
|
|||||||
|
|
||||||
my $num = $self->__lmConf->lastCfg;
|
my $num = $self->__lmConf->lastCfg;
|
||||||
|
|
||||||
|
# Reload configuration
|
||||||
unless ( $confCached and $confCached->{cfgNum} == $num ) {
|
unless ( $confCached and $confCached->{cfgNum} == $num ) {
|
||||||
|
$self->lmLog( "Cached configuration too old, get configuration $num",
|
||||||
|
'debug' );
|
||||||
my $gConf = $self->__lmConf->getConf( { cfgNum => $num } );
|
my $gConf = $self->__lmConf->getConf( { cfgNum => $num } );
|
||||||
my $lConf = $self->__lmConf->getLocalConf(PORTALSECTION);
|
my $lConf = $self->__lmConf->getLocalConf(PORTALSECTION);
|
||||||
unless ( ref($gConf) and ref($lConf) ) {
|
unless ( ref($gConf) and ref($lConf) ) {
|
||||||
|
@ -19,7 +19,7 @@ use Encode; # Encode attribute values
|
|||||||
# Special comments for doxygen
|
# Special comments for doxygen
|
||||||
#inherits Lemonldap::NG::Common::Conf::SAML::Metadata protected service_metadata
|
#inherits Lemonldap::NG::Common::Conf::SAML::Metadata protected service_metadata
|
||||||
|
|
||||||
our $VERSION = '1.0.2';
|
our $VERSION = '1.2.0';
|
||||||
our $samlCache;
|
our $samlCache;
|
||||||
our $initGlibDone;
|
our $initGlibDone;
|
||||||
|
|
||||||
@ -71,6 +71,20 @@ BEGIN {
|
|||||||
# @return boolean result
|
# @return boolean result
|
||||||
sub loadLasso {
|
sub loadLasso {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
|
# Reload SAML cache if configuration number has changed
|
||||||
|
unless ( $samlCache->{cfgNum} == $self->{cfgNum} ) {
|
||||||
|
$self->lmLog( "Reset SAML configuration cache", 'debug' );
|
||||||
|
delete $samlCache->{_lassoServerDump};
|
||||||
|
delete $samlCache->{_spList};
|
||||||
|
delete $samlCache->{_idpList};
|
||||||
|
|
||||||
|
$samlCache->{cfgNum} = $self->{cfgNum};
|
||||||
|
}
|
||||||
|
|
||||||
|
$self->lmLog( "SAML cache configuration: " . $samlCache->{cfgNum},
|
||||||
|
'debug' );
|
||||||
|
|
||||||
return 1 if ($initGlibDone);
|
return 1 if ($initGlibDone);
|
||||||
|
|
||||||
# Catch GLib Lasso messages (require Glib)
|
# Catch GLib Lasso messages (require Glib)
|
||||||
@ -86,7 +100,7 @@ sub loadLasso {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unless (LASSO) {
|
unless (LASSO) {
|
||||||
$self->lmLog( "Module Lasso not loaded (see bellow)", 'error' );
|
$self->lmLog( "Module Lasso not loaded (see below)", 'error' );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,6 +110,7 @@ sub loadLasso {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$initGlibDone = 1;
|
$initGlibDone = 1;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user