Merge branch 'llng-2.0-improvements' into 'master'
Llng 2.0 improvements See merge request lemonldap-ng/lemonldap-ng!30
This commit is contained in:
commit
9b584d9509
|
@ -8,12 +8,12 @@ sub types {
|
||||||
'authParamsText' => {
|
'authParamsText' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'blackWhiteList' => {
|
'blackWhiteList' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'bool' => {
|
'bool' => {
|
||||||
'msgFail' => '__notABoolean__',
|
'msgFail' => '__notABoolean__',
|
||||||
|
@ -36,17 +36,17 @@ sub types {
|
||||||
split( /\n/, $@, 0 ) )
|
split( /\n/, $@, 0 ) )
|
||||||
);
|
);
|
||||||
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'catAndAppList' => {
|
'catAndAppList' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'file' => {
|
'file' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'hostname' => {
|
'hostname' => {
|
||||||
'form' => 'text',
|
'form' => 'text',
|
||||||
|
@ -80,48 +80,48 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
|
||||||
if $_ =~ /exportedvars$/i and defined $conf->{$_}{$val};
|
if $_ =~ /exportedvars$/i and defined $conf->{$_}{$val};
|
||||||
}
|
}
|
||||||
return 1, "__unknownAttrOrMacro__: $val";
|
return 1, "__unknownAttrOrMacro__: $val";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'longtext' => {
|
'longtext' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'menuApp' => {
|
'menuApp' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'menuCat' => {
|
'menuCat' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'oidcmetadatajson' => {
|
'oidcmetadatajson' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'oidcmetadatajwks' => {
|
'oidcmetadatajwks' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'oidcOPMetaDataNode' => {
|
'oidcOPMetaDataNode' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'oidcRPMetaDataNode' => {
|
'oidcRPMetaDataNode' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'password' => {
|
'password' => {
|
||||||
'msgFail' => '__malformedValue__',
|
'msgFail' => '__malformedValue__',
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'pcre' => {
|
'pcre' => {
|
||||||
'form' => 'text',
|
'form' => 'text',
|
||||||
|
@ -132,7 +132,7 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return $@ ? ( 0, "__badRegexp__: $@" ) : 1;
|
return $@ ? ( 0, "__badRegexp__: $@" ) : 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'PerlModule' => {
|
'PerlModule' => {
|
||||||
'form' => 'text',
|
'form' => 'text',
|
||||||
|
@ -142,17 +142,17 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
|
||||||
'portalskin' => {
|
'portalskin' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'portalskinbackground' => {
|
'portalskinbackground' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'post' => {
|
'post' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'RSAPrivateKey' => {
|
'RSAPrivateKey' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
|
@ -160,7 +160,7 @@ qr/^(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-
|
||||||
m[^(?:(?:\-+\s*BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:RSA\s+)PRIVATE\s+KEY\s*\-+)?[\r\n]*)?$]s
|
m[^(?:(?:\-+\s*BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:RSA\s+)PRIVATE\s+KEY\s*\-+)?[\r\n]*)?$]s
|
||||||
? 1
|
? 1
|
||||||
: ( 1, '__badPemEncoding__' );
|
: ( 1, '__badPemEncoding__' );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'RSAPublicKey' => {
|
'RSAPublicKey' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
|
@ -168,7 +168,7 @@ m[^(?:(?:\-+\s*BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+=
|
||||||
m[^(?:(?:\-+\s*BEGIN\s+PUBLIC\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+PUBLIC\s+KEY\s*\-+)?[\r\n]*)?$]s
|
m[^(?:(?:\-+\s*BEGIN\s+PUBLIC\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+PUBLIC\s+KEY\s*\-+)?[\r\n]*)?$]s
|
||||||
? 1
|
? 1
|
||||||
: ( 1, '__badPemEncoding__' );
|
: ( 1, '__badPemEncoding__' );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'RSAPublicKeyOrCertificate' => {
|
'RSAPublicKeyOrCertificate' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
|
@ -176,37 +176,37 @@ m[^(?:(?:\-+\s*BEGIN\s+PUBLIC\s+KEY\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\
|
||||||
m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+)?[\r\n]*)?$]s
|
m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\n]+={0,2}(?:\r?\n\-+\s*END\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+)?[\r\n]*)?$]s
|
||||||
? 1
|
? 1
|
||||||
: ( 1, '__badPemEncoding__' );
|
: ( 1, '__badPemEncoding__' );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'rule' => {
|
'rule' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'samlAssertion' => {
|
'samlAssertion' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'samlAttribute' => {
|
'samlAttribute' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'samlIDPMetaDataNode' => {
|
'samlIDPMetaDataNode' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'samlService' => {
|
'samlService' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'samlSPMetaDataNode' => {
|
'samlSPMetaDataNode' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'select' => {
|
'select' => {
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
|
@ -216,19 +216,19 @@ m[^(?:(?:\-+\s*BEGIN\s+(?:PUBLIC\s+KEY|CERTIFICATE)\s*\-+\r?\n)?[a-zA-Z0-9/\+\r\
|
||||||
return $test
|
return $test
|
||||||
? 1
|
? 1
|
||||||
: ( 1, "Invalid value '$_[0]' for this select" );
|
: ( 1, "Invalid value '$_[0]' for this select" );
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'subContainer' => {
|
'subContainer' => {
|
||||||
'keyTest' => qr/\w/,
|
'keyTest' => qr/\w/,
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'text' => {
|
'text' => {
|
||||||
'msgFail' => '__malformedValue__',
|
'msgFail' => '__malformedValue__',
|
||||||
'test' => sub {
|
'test' => sub {
|
||||||
1;
|
1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'trool' => {
|
'trool' => {
|
||||||
'msgFail' => '__authorizedValues__: -1, 0, 1',
|
'msgFail' => '__authorizedValues__: -1, 0, 1',
|
||||||
|
@ -1035,7 +1035,7 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][
|
||||||
split( /\n/, $@, 0 ) )
|
split( /\n/, $@, 0 ) )
|
||||||
);
|
);
|
||||||
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'type' => 'keyTextContainer'
|
'type' => 'keyTextContainer'
|
||||||
},
|
},
|
||||||
|
@ -1210,7 +1210,7 @@ qr/^(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-
|
||||||
and defined $conf->{$_}{$val};
|
and defined $conf->{$_}{$val};
|
||||||
}
|
}
|
||||||
return 1, "__unknownAttrOrMacro__: $val";
|
return 1, "__unknownAttrOrMacro__: $val";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'type' => 'doubleHash'
|
'type' => 'doubleHash'
|
||||||
},
|
},
|
||||||
|
@ -1498,7 +1498,7 @@ qr/^(?:\*\.)?(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][
|
||||||
split( /\n/, $@, 0 ) )
|
split( /\n/, $@, 0 ) )
|
||||||
);
|
);
|
||||||
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
return $err ? ( 1, "__badExpression__: $err" ) : 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'type' => 'ruleContainer'
|
'type' => 'ruleContainer'
|
||||||
},
|
},
|
||||||
|
@ -3004,19 +3004,19 @@ qr/(?:(?:https?):\/\/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.]
|
||||||
'default' => 0,
|
'default' => 0,
|
||||||
'select' => [
|
'select' => [
|
||||||
{
|
{
|
||||||
'k' => '0',
|
'k' => 0,
|
||||||
'v' => 'unsecuredCookie'
|
'v' => 'unsecuredCookie'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'k' => '1',
|
'k' => 1,
|
||||||
'v' => 'securedCookie'
|
'v' => 'securedCookie'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'k' => '2',
|
'k' => 2,
|
||||||
'v' => 'doubleCookie'
|
'v' => 'doubleCookie'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'k' => '3',
|
'k' => 3,
|
||||||
'v' => 'doubleCookieForSingleSession'
|
'v' => 'doubleCookieForSingleSession'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
###
|
###
|
||||||
# Session explorer
|
# Sessions explorer
|
||||||
###
|
###
|
||||||
|
|
||||||
# Max number of session to display (see overScheme)
|
# Max number of session to display (see overScheme)
|
||||||
|
@ -207,8 +207,7 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location',
|
||||||
# 2. Push session keys in result, grouped by categories
|
# 2. Push session keys in result, grouped by categories
|
||||||
for category, attrs of categories
|
for category, attrs of categories
|
||||||
subres = []
|
subres = []
|
||||||
for attr in attrs
|
for attr in attrs
|
||||||
|
|
||||||
if session[attr] and session[attr].match(/\w+/)
|
if session[attr] and session[attr].match(/\w+/)
|
||||||
if session[attr].match(/"type":\s*"(?:TOTP|U2F|UBK)"/)
|
if session[attr].match(/"type":\s*"(?:TOTP|U2F|UBK)"/)
|
||||||
subres.push
|
subres.push
|
||||||
|
@ -235,6 +234,8 @@ llapp.controller 'SessionsExplorerCtrl', ['$scope', '$translator', '$location',
|
||||||
value: session[attr]
|
value: session[attr]
|
||||||
epoch: ''
|
epoch: ''
|
||||||
delete session[attr]
|
delete session[attr]
|
||||||
|
else
|
||||||
|
delete session[attr]
|
||||||
if subres.length >0
|
if subres.length >0
|
||||||
res.push
|
res.push
|
||||||
title: "__#{category}__"
|
title: "__#{category}__"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Generated by CoffeeScript 1.9.3
|
// Generated by CoffeeScript 1.9.3
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Session explorer
|
* Sessions explorer
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
@ -277,6 +277,8 @@
|
||||||
});
|
});
|
||||||
delete session[attr];
|
delete session[attr];
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
delete session[attr];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (subres.length > 0) {
|
if (subres.length > 0) {
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -639,7 +639,7 @@
|
||||||
"restConfigServer":"REST configuration server",
|
"restConfigServer":"REST configuration server",
|
||||||
"restore":"Restore",
|
"restore":"Restore",
|
||||||
"restoreConf":"Restore configuration",
|
"restoreConf":"Restore configuration",
|
||||||
"rest2f":"REST Second Factor",
|
"rest2f":"REST second factor",
|
||||||
"rest2fActivation":"Activation",
|
"rest2fActivation":"Activation",
|
||||||
"rest2fAuthnLevel":"Authentication level",
|
"rest2fAuthnLevel":"Authentication level",
|
||||||
"rest2fInitArgs":"Init Arguments",
|
"rest2fInitArgs":"Init Arguments",
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
"_userDB":"Utilisateur",
|
"_userDB":"Utilisateur",
|
||||||
"_url":"URL d'origine",
|
"_url":"URL d'origine",
|
||||||
"_utime":"Tampon de la session",
|
"_utime":"Tampon de la session",
|
||||||
"2faSessions":"Explorateur de sessions 2ndFA",
|
"2faSessions":"Explorateur sessions 2ndFA",
|
||||||
"2ndFA":"Seconds Facteurs",
|
"2ndFA":"Seconds Facteurs",
|
||||||
"actives":"Actives",
|
"actives":"Actives",
|
||||||
"activeTimer":"Délai d'acceptation automatique",
|
"activeTimer":"Délai d'acceptation automatique",
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
"casSrvMetaDataOptionsUrl":"URL du serveur",
|
"casSrvMetaDataOptionsUrl":"URL du serveur",
|
||||||
"casSrvMetaDataNodes":"Serveurs CAS",
|
"casSrvMetaDataNodes":"Serveurs CAS",
|
||||||
"casSrvName":"Nom du serveur CAS",
|
"casSrvName":"Nom du serveur CAS",
|
||||||
"casStorage":"Nom du module des session CAS",
|
"casStorage":"Nom du module des sessions CAS",
|
||||||
"casStorageOptions":"Options du module des sessions CAS",
|
"casStorageOptions":"Options du module des sessions CAS",
|
||||||
"categoryName":"Nom de la catégorie",
|
"categoryName":"Nom de la catégorie",
|
||||||
"cda":"Domaines multiples",
|
"cda":"Domaines multiples",
|
||||||
|
@ -402,7 +402,7 @@
|
||||||
"modulesTitle":"Modules utilisés",
|
"modulesTitle":"Modules utilisés",
|
||||||
"multiIp":"Multi IP",
|
"multiIp":"Multi IP",
|
||||||
"multipleSessions":"Sessions multiples",
|
"multipleSessions":"Sessions multiples",
|
||||||
"multiValuesSeparator":"Separateur",
|
"multiValuesSeparator":"Séparateur",
|
||||||
"name":"Nom",
|
"name":"Nom",
|
||||||
"needConfirmation":"Une nouvelle configuration est disponible. Pour sauvegarder celle-ci, cocher la case à côté du bouton 'sauver'",
|
"needConfirmation":"Une nouvelle configuration est disponible. Pour sauvegarder celle-ci, cocher la case à côté du bouton 'sauver'",
|
||||||
"networkProblem":"Problème de réseau",
|
"networkProblem":"Problème de réseau",
|
||||||
|
@ -504,15 +504,15 @@
|
||||||
"oidcServiceMetaDataJWKSURI":"JWKS",
|
"oidcServiceMetaDataJWKSURI":"JWKS",
|
||||||
"oidcServiceMetaDataKeys":"Clefs",
|
"oidcServiceMetaDataKeys":"Clefs",
|
||||||
"oidcServiceMetaDataRegistrationURI":"Enregistrement",
|
"oidcServiceMetaDataRegistrationURI":"Enregistrement",
|
||||||
"oidcServiceMetaDataSecurity":"Securité",
|
"oidcServiceMetaDataSecurity":"Sécurité",
|
||||||
"oidcServiceMetaDataEndSessionURI":"Fin de session",
|
"oidcServiceMetaDataEndSessionURI":"Fin de session",
|
||||||
"oidcServiceMetaDataAuthnContext":"Contexte d'authentification",
|
"oidcServiceMetaDataAuthnContext":"Contexte d'authentification",
|
||||||
"oidcServiceMetaDataSessions":"Sessions",
|
"oidcServiceMetaDataSessions":"Sessions",
|
||||||
"oidcServicePrivateKeySig":"Clef privée de signature",
|
"oidcServicePrivateKeySig":"Clef privée de signature",
|
||||||
"oidcServicePublicKeySig":"Clef publique de signature",
|
"oidcServicePublicKeySig":"Clef publique de signature",
|
||||||
"oidcServiceKeyIdSig":"Identifiant de clef de signature",
|
"oidcServiceKeyIdSig":"Identifiant de clef de signature",
|
||||||
"oidcStorage":"Nom du module de sessions",
|
"oidcStorage":"Nom du module des sessions",
|
||||||
"oidcStorageOptions":"Options du module de sessions",
|
"oidcStorageOptions":"Options du module des sessions",
|
||||||
"oidcOPMetaDataNodes":"Fournisseurs OpenID Connect",
|
"oidcOPMetaDataNodes":"Fournisseurs OpenID Connect",
|
||||||
"oidcRPMetaDataNodes":"Clients OpenID Connect",
|
"oidcRPMetaDataNodes":"Clients OpenID Connect",
|
||||||
"oidcOPMetaDataOptionsPrompt":"Interaction",
|
"oidcOPMetaDataOptionsPrompt":"Interaction",
|
||||||
|
@ -660,7 +660,7 @@
|
||||||
"saveReport":"Rapport de sauvegarde",
|
"saveReport":"Rapport de sauvegarde",
|
||||||
"savingConfirmation":"Confirmation de sauvegarde",
|
"savingConfirmation":"Confirmation de sauvegarde",
|
||||||
"search":"Rechercher ...",
|
"search":"Rechercher ...",
|
||||||
"secondFactors":"Second facteurs",
|
"secondFactors":"Seconds facteurs",
|
||||||
"securedCookie":"Cookie sécurisé (HTTPS)",
|
"securedCookie":"Cookie sécurisé (HTTPS)",
|
||||||
"security":"Sécurité",
|
"security":"Sécurité",
|
||||||
"serverError":"Erreur du serveur",
|
"serverError":"Erreur du serveur",
|
||||||
|
@ -911,7 +911,7 @@
|
||||||
"samlIdPResolveCookie":"Nom du cookie de résolution IDP",
|
"samlIdPResolveCookie":"Nom du cookie de résolution IDP",
|
||||||
"samlPartnerName":"Nom du partenaire SAML",
|
"samlPartnerName":"Nom du partenaire SAML",
|
||||||
"samlMetadataForceUTF8":"Conversion des métadonnées en UTF8",
|
"samlMetadataForceUTF8":"Conversion des métadonnées en UTF8",
|
||||||
"samlStorage":"Nom du module des session SAML",
|
"samlStorage":"Nom du module des sessions SAML",
|
||||||
"samlStorageOptions":"Options du module des sessions SAML",
|
"samlStorageOptions":"Options du module des sessions SAML",
|
||||||
"samlAuthnContextMap":"Contextes d'authentification",
|
"samlAuthnContextMap":"Contextes d'authentification",
|
||||||
"samlAuthnContextMapPassword":"Mot de passe",
|
"samlAuthnContextMapPassword":"Mot de passe",
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<div class="navbar navbar-default">
|
<div class="navbar navbar-default">
|
||||||
<div class="navbar-collapse">
|
<div class="navbar-collapse">
|
||||||
<ul class="nav navbar-nav" role="grid">
|
<ul class="nav navbar-nav" role="grid">
|
||||||
<li><a id="a-persistent" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('2faSessions')}}</a></li>
|
<li><a id="a-persistent" role="row"><i class="glyphicon glyphicon-exclamation-sign"></i> {{translate('2faSessions')}} </a></li>
|
||||||
<form name="filterForm">
|
<form name="filterForm">
|
||||||
<div class="form-check ">
|
<div class="form-check ">
|
||||||
<input type="checkbox" ng-model="U2FCheck" class="form-check-input" ng-true-value="'2'" ng-false-value="'1'" ng-change="search2FA()"/>
|
<input type="checkbox" ng-model="U2FCheck" class="form-check-input" ng-true-value="'2'" ng-false-value="'1'" ng-change="search2FA()"/>
|
||||||
|
@ -86,13 +86,13 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div ng-if="!node.nodes" >
|
<div ng-if="!node.nodes" >
|
||||||
<th ng-if="node.title!='UBK' && node.title!='TOTP' && node.title!='U2F'">{{translate(node.title)}}</th>
|
<th class="col-md-3" ng-if="node.title!='UBK' && node.title!='TOTP' && node.title!='U2F'">{{translate(node.title)}}</th>
|
||||||
<td ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'" >{{node.title}}</td>
|
<td class="data-{{node.epoch}}" ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'" >{{node.title}}</td>
|
||||||
<th class="col-md-3" ng-if="node.title=='type'">{{translate(node.value)}}</th>
|
<th class="col-md-3" ng-if="node.title=='type'">{{translate(node.value)}}</th>
|
||||||
<td class="col-md-3" ng-if="node.title!='type'" >{{node.value}}</td>
|
<td class="col-md-3 data-{{node.epoch}}" ng-if="node.title!='type'" >{{node.value}}</td>
|
||||||
<th class="col-md-3" ng-if="node.title=='type'">{{translate(node.epoch)}}</th>
|
<th class="col-md-3" ng-if="node.title=='type'">{{translate(node.epoch)}}</th>
|
||||||
<td class="col-md-3" ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'">{{localeDate(node.epoch)}}</td>
|
<td class="col-md-3 data-{{node.epoch}}" ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'">{{localeDate(node.epoch)}}</td>
|
||||||
<td >
|
<td class="data-{{node.epoch}}">
|
||||||
<span ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'" class="link text-danger glyphicon glyphicon-minus-sign" ng-click="delete2FA(node.title, node.epoch)"></span>
|
<span ng-if="node.title=='TOTP' || node.title=='UBK' || node.title=='U2F'" class="link text-danger glyphicon glyphicon-minus-sign" ng-click="delete2FA(node.title, node.epoch)"></span>
|
||||||
<!--
|
<!--
|
||||||
<span ng-if="$last && ( node.title=='TOTP' || node.title=='UBK' || node.title=='U2F' )" class="link text-success glyphicon glyphicon-plus-sign" ng-click="menuClick({title:'newRule'})"></span>
|
<span ng-if="$last && ( node.title=='TOTP' || node.title=='UBK' || node.title=='U2F' )" class="link text-success glyphicon glyphicon-plus-sign" ng-click="menuClick({title:'newRule'})"></span>
|
||||||
|
|
|
@ -94,9 +94,15 @@ sub params {
|
||||||
$req->param("tab") // '' )
|
$req->param("tab") // '' )
|
||||||
|| "applist";
|
|| "applist";
|
||||||
}
|
}
|
||||||
|
|
||||||
$res{DISPLAY_MODULES} = $self->displayModules($req);
|
$res{DISPLAY_MODULES} = $self->displayModules($req);
|
||||||
$res{AUTH_ERROR_TYPE} =
|
$res{AUTH_ERROR_TYPE} =
|
||||||
$req->error_type( $res{AUTH_ERROR} = $req->menuError );
|
$req->error_type( $res{AUTH_ERROR} = $req->menuError );
|
||||||
|
|
||||||
|
# Display menu 2fRegisters link only if a 2F device is registered
|
||||||
|
# $res{SFAManagment} = $self->_sfEngine->display2fRegisters($req, $req->userData) ???
|
||||||
|
$res{SFAManagment} = $req->userData->{_2fDevices} =~ /\w+/;
|
||||||
|
$self->logger->debug( "Display 2fRegisters link ? ". $res{SFAManagment} );
|
||||||
|
|
||||||
return %res;
|
return %res;
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 612 B After Width: | Height: | Size: 547 B |
|
@ -92,9 +92,9 @@
|
||||||
"accountCreationSuccess":"Your account was successfully created.",
|
"accountCreationSuccess":"Your account was successfully created.",
|
||||||
"action":"Action",
|
"action":"Action",
|
||||||
"anotherInformation":"Another information:",
|
"anotherInformation":"Another information:",
|
||||||
"areYouSure":"Are you sure ?",
|
"areYouSure":"Are you sure?",
|
||||||
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate ?",
|
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate?",
|
||||||
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate ?",
|
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate?",
|
||||||
"authPortal":"Authentication portal",
|
"authPortal":"Authentication portal",
|
||||||
"authRemaining":"%s authentications remaining, change your password!",
|
"authRemaining":"%s authentications remaining, change your password!",
|
||||||
"autoAccept":"Automatically accept in 30 seconds",
|
"autoAccept":"Automatically accept in 30 seconds",
|
||||||
|
|
|
@ -92,9 +92,9 @@
|
||||||
"accountCreationSuccess":"Your account was successfully created.",
|
"accountCreationSuccess":"Your account was successfully created.",
|
||||||
"action":"Action",
|
"action":"Action",
|
||||||
"anotherInformation":"Another information:",
|
"anotherInformation":"Another information:",
|
||||||
"areYouSure":"Are you sure ?",
|
"areYouSure":"Are you sure?",
|
||||||
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate ?",
|
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate?",
|
||||||
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate ?",
|
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate?",
|
||||||
"authPortal":"Authentication portal",
|
"authPortal":"Authentication portal",
|
||||||
"authRemaining":"%s authentications remaining, change your password!",
|
"authRemaining":"%s authentications remaining, change your password!",
|
||||||
"autoAccept":"Automatically accept in 30 seconds",
|
"autoAccept":"Automatically accept in 30 seconds",
|
||||||
|
|
|
@ -92,9 +92,9 @@
|
||||||
"accountCreationSuccess":"Your account was successfully created.",
|
"accountCreationSuccess":"Your account was successfully created.",
|
||||||
"action":"Action",
|
"action":"Action",
|
||||||
"anotherInformation":"Another information:",
|
"anotherInformation":"Another information:",
|
||||||
"areYouSure":"Are you sure ?",
|
"areYouSure":"Are you sure?",
|
||||||
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate ?",
|
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate?",
|
||||||
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate ?",
|
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate?",
|
||||||
"authPortal":"Authentication portal",
|
"authPortal":"Authentication portal",
|
||||||
"authRemaining":"%s authentications remaining, change your password!",
|
"authRemaining":"%s authentications remaining, change your password!",
|
||||||
"autoAccept":"Automatically accept in 30 seconds",
|
"autoAccept":"Automatically accept in 30 seconds",
|
||||||
|
|
|
@ -151,7 +151,7 @@
|
||||||
"mail":"Mail",
|
"mail":"Mail",
|
||||||
"mailSent2":"Vi é stato inviato un messaggio via mail",
|
"mailSent2":"Vi é stato inviato un messaggio via mail",
|
||||||
"maintenanceMode":"Questa applicazione è in manutenzione, prova a connetterti più tardi",
|
"maintenanceMode":"Questa applicazione è in manutenzione, prova a connetterti più tardi",
|
||||||
"maxNumberof2FDevicesReached":"Maximum number of 2F devices reached !!!",
|
"maxNumberof2FDevicesReached":"Maximum number of 2F devices reached!!!",
|
||||||
"name":"Name",
|
"name":"Name",
|
||||||
"newMessages":"Nuovo(i) messaggio(i)",
|
"newMessages":"Nuovo(i) messaggio(i)",
|
||||||
"newPassword":"Nuova password",
|
"newPassword":"Nuova password",
|
||||||
|
|
|
@ -92,9 +92,9 @@
|
||||||
"accountCreationSuccess":"Your account was successfully created.",
|
"accountCreationSuccess":"Your account was successfully created.",
|
||||||
"action":"Action",
|
"action":"Action",
|
||||||
"anotherInformation":"Another information:",
|
"anotherInformation":"Another information:",
|
||||||
"areYouSure":"Are you sure ?",
|
"areYouSure":"Are you sure?",
|
||||||
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate ?",
|
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate?",
|
||||||
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate ?",
|
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate?",
|
||||||
"authPortal":"Authentication portal",
|
"authPortal":"Authentication portal",
|
||||||
"authRemaining":"%s authentications remaining, change your password!",
|
"authRemaining":"%s authentications remaining, change your password!",
|
||||||
"autoAccept":"Automatically accept in 30 seconds",
|
"autoAccept":"Automatically accept in 30 seconds",
|
||||||
|
|
|
@ -74,10 +74,12 @@
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu" role="menu">
|
<ul class="dropdown-menu" role="menu">
|
||||||
<li><a href="/2fregisters">
|
<TMPL_IF NAME="SFAManagment">
|
||||||
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/2FManagment.png" width="16" height="16" alt="refresh" />
|
<li><a href="/2fregisters">
|
||||||
<span trspan="2FManagment">2FManagment</span>
|
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/2FManagment.png" width="16" height="16" alt="refresh" />
|
||||||
</a></li>
|
<span trspan="2FManagment">2FManagment</span>
|
||||||
|
</a></li>
|
||||||
|
</TMPL_IF>
|
||||||
<li><a href="/refresh">
|
<li><a href="/refresh">
|
||||||
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/arrow_refresh.png" width="16" height="16" alt="refresh" />
|
<img src="<TMPL_VAR NAME="STATIC_PREFIX">common/icons/arrow_refresh.png" width="16" height="16" alt="refresh" />
|
||||||
<span trspan="refreshrights">Refresh</span>
|
<span trspan="refreshrights">Refresh</span>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user