Add a config parameter to enable/disable login history (Lemonldap-389)
This commit is contained in:
parent
1c91be49ee
commit
6c6591fd83
|
@ -126,7 +126,7 @@ sub unserialize {
|
|||
|samlSPMetaDataOptions
|
||||
|samlSPMetaDataXML
|
||||
|samlStorageOptions
|
||||
|sessionDataToDisplay
|
||||
|sessionDataToRemember
|
||||
|vhostOptions
|
||||
)$/
|
||||
and $v ||= {} and not ref($v)
|
||||
|
|
|
@ -289,7 +289,7 @@ sub struct {
|
|||
|
||||
portalCustomization => {
|
||||
_nodes => [
|
||||
qw(portalSkin portalAutocomplete portalUserAttr portalOpenLinkInNewWindow portalAntiFrame passwordManagement loginDisplay)
|
||||
qw(portalSkin portalAutocomplete portalUserAttr portalOpenLinkInNewWindow portalAntiFrame passwordManagement)
|
||||
],
|
||||
_help => 'portalcustom',
|
||||
|
||||
|
@ -312,17 +312,6 @@ sub struct {
|
|||
hideOldPassword => 'bool:/hideOldPassword',
|
||||
mailOnPasswordChange => 'bool:/mailOnPasswordChange',
|
||||
},
|
||||
|
||||
loginDisplay => {
|
||||
_nodes => [qw(successLoginNumber failedLoginNumber cn:sessionDataToDisplay)],
|
||||
_help => 'loginDisplay',
|
||||
successLoginNumber => 'int:/successLoginNumber',
|
||||
failedLoginNumber => 'int:/failedLoginNumber',
|
||||
sessionDataToDisplay => {
|
||||
_nodes => ['hash:/sessionDataToDisplay:loginDisplay:btext'],
|
||||
_js => 'hashRoot',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
@ -811,7 +800,7 @@ sub struct {
|
|||
# OTHER PARAMETERS
|
||||
advancedParams => {
|
||||
_nodes => [
|
||||
qw(customFunctions n:soap n:notifications n:passwordManagement n:security n:redirection n:portalRedirection n:specialHandlers cn:logoutServices)
|
||||
qw(customFunctions n:soap n:loginHistory n:notifications n:passwordManagement n:security n:redirection n:portalRedirection n:specialHandlers cn:logoutServices)
|
||||
],
|
||||
_help => 'advanced',
|
||||
|
||||
|
@ -823,6 +812,18 @@ sub struct {
|
|||
exportedAttr => 'text:/exportedAttr',
|
||||
},
|
||||
|
||||
loginHistory => {
|
||||
_nodes => [qw(loginHistoryEnabled successLoginNumber failedLoginNumber cn:sessionDataToRemember)],
|
||||
_help => 'loginHistory',
|
||||
loginHistoryEnabled => 'bool:/loginHistoryEnabled',
|
||||
successLoginNumber => 'int:/successLoginNumber',
|
||||
failedLoginNumber => 'int:/failedLoginNumber',
|
||||
sessionDataToRemember => {
|
||||
_nodes => ['hash:/sessionDataToRemember:loginHistory:btext'],
|
||||
_js => 'hashRoot',
|
||||
},
|
||||
},
|
||||
|
||||
notifications => {
|
||||
_nodes => [
|
||||
qw(notification notificationStorage cn:notificationStorageOptions notificationWildcard notificationXSLTfile)
|
||||
|
@ -1479,6 +1480,7 @@ sub testStruct {
|
|||
warnTest => $noAssign,
|
||||
},
|
||||
},
|
||||
loginHistoryEnabled => $boolean,
|
||||
logoutServices => {
|
||||
keyTest => qr/^\w+$/,
|
||||
keyMsgFail => 'Bad name',
|
||||
|
@ -1559,7 +1561,7 @@ sub testStruct {
|
|||
test => qr/^(?:0|1|2|3)$/,
|
||||
msgFail => 'securedCookie must be 0, 1, 2 or 3',
|
||||
},
|
||||
sessionDataToDisplay => {
|
||||
sessionDataToRemember => {
|
||||
keyTest => qr/^[\w-]+$/,
|
||||
keyMsgFail => 'Invalid session data',
|
||||
},
|
||||
|
|
|
@ -188,8 +188,8 @@ sub en {
|
|||
ldapTimeout => 'Timeout',
|
||||
ldapUsePasswordResetAttribute => 'Use reset attribute',
|
||||
ldapVersion => 'Version',
|
||||
loginDisplay => 'Login display',
|
||||
loginHistory => 'Login history',
|
||||
loginHistoryEnabled => 'Activation',
|
||||
logoutServices => 'Logout forward',
|
||||
logParams => 'Logs',
|
||||
macros => 'Macros',
|
||||
|
@ -300,7 +300,7 @@ sub en {
|
|||
security => 'Security',
|
||||
session => 'session',
|
||||
sessions => 'sessions',
|
||||
sessionDataToDisplay => 'Session data to display',
|
||||
sessionDataToRemember => 'Session data to store',
|
||||
sessionDeleted => 'The session was deleted',
|
||||
sessionParams => 'Sessions',
|
||||
sessionStartedAt => 'Session started on',
|
||||
|
@ -635,20 +635,20 @@ sub fr {
|
|||
ldapTimeout => 'Temps maximum d\'inactivité',
|
||||
ldapUsePasswordResetAttribute =>
|
||||
'Utiliser l\'attribut de réinitialisation',
|
||||
ldapVersion => 'Version',
|
||||
loginDisplay => 'Affichage des connexions',
|
||||
loginHistory => 'Historique des connexions',
|
||||
logoutServices => 'Transfert de la déconnexion',
|
||||
logParams => 'Journalisation',
|
||||
macros => 'Macros',
|
||||
mailBody => 'Contenu du message de succès',
|
||||
mailCharset => 'Charset',
|
||||
mailConfirmBody => 'Contenu du message de confirmation',
|
||||
mailConfirmSubject => 'Sujet du message de confirmation',
|
||||
mailContent => 'Contenu du mail',
|
||||
mailFrom => 'Expéditeur du message',
|
||||
mailHeaders => 'En-têtes du mail',
|
||||
mailLDAPFilter => 'Filtre mail',
|
||||
ldapVersion => 'Version',
|
||||
loginHistory => 'Historique des connexions',
|
||||
loginHistoryEnabled => 'Activation',
|
||||
logoutServices => 'Transfert de la déconnexion',
|
||||
logParams => 'Journalisation',
|
||||
macros => 'Macros',
|
||||
mailBody => 'Contenu du message de succès',
|
||||
mailCharset => 'Charset',
|
||||
mailConfirmBody => 'Contenu du message de confirmation',
|
||||
mailConfirmSubject => 'Sujet du message de confirmation',
|
||||
mailContent => 'Contenu du mail',
|
||||
mailFrom => 'Expéditeur du message',
|
||||
mailHeaders => 'En-têtes du mail',
|
||||
mailLDAPFilter => 'Filtre mail',
|
||||
mailOnPasswordChange =>
|
||||
"Envoi d'un mail quand le mot de passe est changé",
|
||||
mailOther => 'Autres',
|
||||
|
@ -753,7 +753,7 @@ sub fr {
|
|||
security => 'Sécurité',
|
||||
session => 'session',
|
||||
sessions => 'sessions',
|
||||
sessionDataToDisplay => 'Données de session à afficher',
|
||||
sessionDataToRemember => 'Données de session à conserver',
|
||||
sessionDeleted => 'La session a été supprimée',
|
||||
sessionParams => 'Sessions',
|
||||
sessionStartedAt => 'Session démarrée le ',
|
||||
|
|
|
@ -2032,7 +2032,7 @@ sub authenticate {
|
|||
sub registerLogin {
|
||||
my ( $self, $errorCode ) = @_;
|
||||
|
||||
if ( $self->{portalDisplayLoginHistory} ) {
|
||||
if ( $self->{loginHistoryEnabled} ) {
|
||||
my $history = $self->{sessionInfo}->{loginHistory} ||= {};
|
||||
|
||||
my $type = ( $errorCode ? "failed" : "success" ) . "Login";
|
||||
|
@ -2128,7 +2128,7 @@ sub _sumUpSession {
|
|||
? {}
|
||||
: { user => $session->{ $self->{whatToTrace} } };
|
||||
$res->{$_} = $session->{$_}
|
||||
foreach ( "_utime", "ipAddr", keys %{ $self->{sessionDataToDisplay} } );
|
||||
foreach ( "_utime", "ipAddr", keys %{ $self->{sessionDataToRemember} } );
|
||||
return $res;
|
||||
}
|
||||
|
||||
|
@ -2152,8 +2152,8 @@ sub mkSessionArray {
|
|||
if ($displayUser);
|
||||
$tmp .= "<th>" . &Lemonldap::NG::Portal::_i18n::msg(PM_DATE) . "</th>";
|
||||
$tmp .= "<th>" . &Lemonldap::NG::Portal::_i18n::msg(PM_IP) . "</th>";
|
||||
$tmp .= "<th>" . $self->{sessionDataToDisplay}->{$_} . "</th>"
|
||||
foreach ( keys %{ $self->{sessionDataToDisplay} } );
|
||||
$tmp .= "<th>" . $self->{sessionDataToRemember}->{$_} . "</th>"
|
||||
foreach ( keys %{ $self->{sessionDataToRemember} } );
|
||||
$tmp .= '<th>' . &Lemonldap::NG::Portal::_i18n::msg(PM_ERROR_MSG) . '</th>'
|
||||
if ($displayError);
|
||||
$tmp .= '</tr>';
|
||||
|
@ -2164,8 +2164,8 @@ sub mkSessionArray {
|
|||
$tmp .=
|
||||
"<td><script>var _date=new Date($session->{_utime}*1000);document.write(_date.toLocaleString());</script></td>";
|
||||
$tmp .= "<td>$session->{ipAddr}</td>";
|
||||
$tmp .= "<td>$session->{$_}</td>"
|
||||
foreach ( keys %{ $self->{sessionDataToDisplay} } );
|
||||
$tmp .= "<td>" . ( $session->{$_} || "") . "</td>"
|
||||
foreach ( keys %{ $self->{sessionDataToRemember} } );
|
||||
$tmp .= "<td>$session->{error}</td>" if ($displayError);
|
||||
$tmp .= "</tr>";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user