Merge branch 'v2.0'

This commit is contained in:
Xavier Guimard 2019-04-16 13:39:31 +02:00
commit bd94c5579d
19 changed files with 144 additions and 112 deletions

View File

@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "llng-fastcgi-server 1"
.TH llng-fastcgi-server 1 "2019-03-05" "perl v5.28.1" "User Contributed Perl Documentation"
.TH llng-fastcgi-server 1 "2019-04-08" "perl v5.28.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l

View File

@ -113,6 +113,11 @@ sub load {
$Lemonldap::NG::Common::Conf::msg .= "YAML fails to read file: $@ \n";
return undef;
}
foreach (keys $ret) {
if($_ =~ $boolKeys) {
$ret->{$_} = $ret->{$_} ? 1 : 0;
}
}
return $ret;
}

View File

@ -24,6 +24,7 @@ use constant MANAGERSECTION => "manager";
use constant SESSIONSEXPLORERSECTION => "sessionsExplorer";
use constant APPLYSECTION => "apply";
our $hashParameters = qr/^(?:(?:l(?:o(?:ca(?:lSessionStorageOption|tionRule)|goutService)|dapExportedVar|wp(?:Ssl)?Opt)|(?:(?:d(?:emo|bi)|facebook|webID)ExportedVa|exported(?:Heade|Va)|issuerDBGetParamete)r|re(?:moteGlobalStorageOption|st2f(?:Verify|Init)Arg|loadUrl)|g(?:r(?:antSessionRule|oup)|lobalStorageOption)|n(?:otificationStorageOption|ginxCustomHandler)|macro)s|o(?:idc(?:RPMetaData(?:(?:Option(?:sExtraClaim)?|ExportedVar)s|Node)|OPMetaData(?:(?:ExportedVar|Option)s|J(?:SON|WKS)|Node)|S(?:erviceMetaDataAuthnContext|torageOptions))|penIdExportedVars)|s(?:aml(?:S(?:PMetaData(?:(?:ExportedAttribute|Option)s|Node|XML)|torageOptions)|IDPMetaData(?:(?:ExportedAttribute|Option)s|Node|XML))|essionDataToRemember|laveExportedVars)|c(?:as(?:S(?:rvMetaData(?:(?:ExportedVar|Option)s|Node)|torageOptions)|A(?:ppMetaData(?:(?:ExportedVar|Option)s|Node)|ttributes))|(?:ustomAddParam|ombModule)s)|p(?:ersistentStorageOptions|o(?:rtalSkinRules|st))|a(?:ut(?:hChoiceMod|oSigninR)ules|pplicationList)|v(?:hostOptions|irtualHost)|S(?:MTPTLSOpts|SLVarIf))$/;
our $boolKeys = qr/^(?:s(?:aml(?:IDP(?:MetaDataOptions(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|IsPassiv)e|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Force(?:Authn|UTF8)|StoreSAMLToken|RelayStateURL)|SSODescriptorWantAuthnRequestsSigned)|S(?:P(?:MetaDataOptions(?:(?:CheckS[LS]OMessageSignatur|OneTimeUs)e|EnableIDPInitiatedURL|ForceUTF8)|SSODescriptor(?:WantAssertion|AuthnRequest)sSigned)|erviceUseCertificateInResponse)|DiscoveryProtocol(?:Activation|IsPassive)|CommonDomainCookieActivation|UseQueryStringSpecific|MetadataForceUTF8)|ingle(?:Session(?:UserByIP)?|(?:UserBy)?IP)|oap(?:Session|Config)Server|t(?:ayConnecte|orePasswor)d|kipRenewConfirmation|howLanguages|slByAjax)|o(?:idc(?:ServiceAllow(?:(?:AuthorizationCode|Implicit|Hybrid)Flow|DynamicRegistration)|OPMetaDataOptions(?:(?:CheckJWTSignatur|UseNonc)e|StoreIDToken)|RPMetaDataOptions(?:LogoutSessionRequired|BypassConsent))|ldNotifFormat)|p(?:ortal(?:ErrorOn(?:ExpiredSession|MailNotFound)|DisplayRe(?:setPassword|gister)|(?:CheckLogin|Statu)s|OpenLinkInNewWindow|RequireOldPassword|ForceAuthn|AntiFrame)|roxyUseSoap)|l(?:dap(?:(?:Group(?:DecodeSearchedValu|Recursiv)|UsePasswordResetAttribut)e|(?:AllowResetExpired|Set)Password|ChangePasswordAsUser|PpolicyControl)|oginHistoryEnabled)|c(?:a(?:ptcha_(?:register|login|mail)_enabled|sSrvMetaDataOptions(?:Gateway|Renew))|heck(?:User(?:Display(?:PersistentInfo|EmptyValues))?|State|XSS)|da)|i(?:ssuerDB(?:OpenID(?:Connect)?|SAML|CAS|Get)Activation|mpersonation(?:SkipEmptyValue|MergeSSOgroup)s)|to(?:tp2f(?:UserCan(?:Chang|Remov)eKey|DisplayExistingSecret)|kenUseGlobalStorage)|u(?:se(?:RedirectOn(?:Forbidden|Error)|SafeJail)|2fUserCanRemoveKey|pgradeSession)|no(?:tif(?:ication(?:Server)?|y(?:Deleted|Other))|AjaxHook)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|(?:(?:rest(?:Session|Config)|wsdl)Serv|activeTim)er|h(?:ideOldPassword|ttpOnly)|yubikey2fUserCanRemoveKey|krb(?:RemoveDomain|ByJs)|dbiDynamicHashEnabled|bruteForceProtection)$/;
our @sessionTypes = ( 'remoteGlobal', 'global', 'localSession', 'persistent', 'saml', 'oidc', 'cas' );
@ -49,6 +50,7 @@ our %EXPORT_TAGS = (
NO
$hashParameters
@sessionTypes
$boolKeys
)
]
);

View File

@ -28,6 +28,7 @@ my $reIgnoreKeys = qr/^$/;
my $module = __PACKAGE__;
my @angularScopeVars;
my @bool;
my @cnodesKeys;
my %cnodesRe;
my @ignoreKeys;
@ -288,6 +289,11 @@ $defaultAttr}
my $sessionTypes = join( "', '", @sessionTypes );
my $confConstants =
"our \$hashParameters = qr/^" . $ra->as_string . "\$/;\n";
$ra = Regexp::Assemble->new;
foreach (@bool) {
$ra->add($_);
}
$confConstants .= "our \$boolKeys = qr/^" . $ra->as_string . "\$/;\n";
open( F, ">", $self->confConstantsFile ) or die($!);
print F <<EOF;
# This file is generated by $module. Don't modify it by hand
@ -340,6 +346,7 @@ our %EXPORT_TAGS = (
NO
\$hashParameters
\@sessionTypes
\$boolKeys
)
]
);
@ -562,6 +569,9 @@ sub scanTree {
if ( $prefix and !$jleaf->{get} ) {
$jleaf->{get} = $prefix . $jleaf->{title};
}
if ( $attr->{type} eq 'bool' ) {
push @bool, $leaf;
}
}
push @$json, $jleaf;
}

View File

@ -678,6 +678,9 @@ llapp.controller 'TreeCtrl', [
else
node.data = data.value
# Cast int as int (remember that booleans are int for Perl)
if node.type and node.type.match /^(bool|trool|boolOrExpr)$/
if typeof node.data == 'string' and node.data.match /^(?:-1|0|1)$/
node.data = parseInt(node.data, 10)
if node.type and node.type.match /^int$/
node.data = parseInt(node.data, 10)
# Split SAML types

View File

@ -1,4 +1,4 @@
// Generated by CoffeeScript 1.12.8
// Generated by CoffeeScript 1.12.7
/*
LemonLDAP::NG Manager client
@ -823,6 +823,11 @@ This file contains:
} else {
node.data = data.value;
}
if (node.type && node.type.match(/^(bool|trool|boolOrExpr)$/)) {
if (typeof node.data === 'string' && node.data.match(/^(?:-1|0|1)$/)) {
node.data = parseInt(node.data, 10);
}
}
if (node.type && node.type.match(/^int$/)) {
node.data = parseInt(node.data, 10);
} else if (node.type && node.type.match(/^(saml(Service|Assertion)|blackWhiteList)$/) && !(typeof node.data === 'object')) {

File diff suppressed because one or more lines are too long

View File

@ -26,7 +26,7 @@
"_utime":"التوقيت الزمني للجلسة",
"2faSessions":"2ndFA sessions explorer",
"2ndFA":"Second Factors",
"actives":"Enabled",
"actives":"مفعلة",
"activeTimer":"قبول تلقائي للوقت",
"addAppCasPartner":"إضافة تطبيق كاس",
"addIDPSamlPartner":"أضف IDP SAML",
@ -68,7 +68,7 @@
"authParams":"معايير إثبات الهوية",
"auto":"تلقائي",
"autoSignin":"Auto Signin",
"autoSigninRules":"Rules",
"autoSigninRules":"القواعد",
"backtoportal":"العودة إلى البوابة",
"badCasProxyId":"معرف خدمة بروكسي كاس غير صالح",
"badChoiceKey":"اسم مفتاح سيئ في قائمة الاختيارات",
@ -120,7 +120,7 @@
"casAttr":"تسجيل الدخول كاس",
"casAttributes":"السمات المصدرة لي كاس",
"casParams":"معايير كاس",
"casServiceMetadata":"CAS Service",
"casServiceMetadata":"خدمة كاس",
"casSrv":"خادم كاس",
"casSrvMetaDataExportedVars":"السمات المصدرة",
"casSrvMetaDataOptions":"الخيارات",
@ -150,12 +150,12 @@
"cfgVersion":"عملية ضبط الإصدارات",
"checkXSS":"تحقق من هجمات XSS",
"clickHereToForce":"انقر هنا لإجبار",
"checkState":"Activation",
"checkStateSecret":"Shared secret",
"checkState":"تفعيل",
"checkStateSecret":"سر مشترك",
"checkUsers":"SSO profile Check",
"checkUser":"Activation",
"checkUser":"تفعيل",
"checkUserIdRule":"Identities use rule",
"checkUserHiddenAttributes":"Hidden attributes",
"checkUserHiddenAttributes":"السمات المخفية",
"checkUserDisplayPersistentInfo":"Display persistent session",
"checkUserDisplayEmptyValues":"Display empty values",
"choiceParams":"اختيارالإعدادات",
@ -248,11 +248,11 @@
"exportedAttr":"SOAP/REST السمات المصدرة",
"exportedHeaders":"الهيدر المصدرة",
"exportedVars":"المتغيرات المصدرة",
"external2f":"External second factor",
"external2f":" العامل الثاني الخارجي",
"ext2fActivation":"تفعيل",
"ext2fCodeActivation":"Code regex",
"ext2fAuthnLevel":"مستوى إثبات الهوية",
"ext2fLogo":"Logo",
"ext2fLogo":"شعار",
"ext2FSendCommand":"إرسال الأمر",
"ext2FValidateCommand":"التحقق من صحة الأمر",
"facebookAppId":"هوية تطبيق فاسيبوك",
@ -263,7 +263,7 @@
"facebookUserField":"Field containing user identifier",
"failedLoginNumber":"عدد عمليات تسجيل الدخول الفاشلة المسجلة",
"fileToUpload":"الملف الذي ستحمله",
"forbidden":"You're not authorized to show this page",
"forbidden":"لست مخولا بعرض هذه الصفحة",
"forceSave":"فرض الحفظ",
"format":"الصيغة",
"formReplay":"استمارة وظيفة replay",
@ -290,9 +290,9 @@
"httpOnly":"الحماية بواسطة جافا سكريبت",
"https":"إتش تي تي بي س",
"impersonation":"Impersonation",
"impersonationRule":"Use rule",
"impersonationRule":"استخدام القاعدة",
"impersonationIdRule":"Identities use rule",
"impersonationHiddenAttributes":"Hidden attributes",
"impersonationHiddenAttributes":"السمات المخفية",
"impersonationMergeSSOgroups":"Merge spoofed and real SSO groups",
"impersonationPrefix":"Real attributes prefix",
"impersonationSkipEmptyValues":"Skip empty values",
@ -375,11 +375,11 @@
"ldapUsePasswordResetAttribute":"استخدام سمة إعادة الضبط",
"ldapVersion":"الإصدار",
"linkedInAuthnLevel":"مستوى إثبات الهوية",
"linkedInClientID":"Client ID",
"linkedInClientSecret":"Client secret",
"linkedInClientID":"معرف العميل",
"linkedInClientSecret":"سرالعميل",
"linkedInFields":"Searched fields",
"linkedinParams":"LinkedIn Parameters",
"linkedInScope":"Scope",
"linkedinParams":"معاييرLinkedIn",
"linkedInScope":"نطاق",
"linkedInUserField":"Field containing user identifier",
"load":"حمل",
"loadedConfiguration":"تحميل الإعدادات",
@ -397,13 +397,13 @@
"lwpSslOpts":"خيارات سسل لطلبات الخادم",
"macros":"ماكرو",
"mail2f":"Mail second factor",
"mail2fActivation":"Activation",
"mail2fActivation":"تفعيل",
"mail2fCodeRegex":"Code regex",
"mail2fTimeout":"Code timeout",
"mail2fSubject":"Mail subject",
"mail2fBody":"Mail body",
"mail2fSubject":"نجاح عنوان البريد",
"mail2fBody":"محتوى البريد الناجح",
"mail2fAuthnLevel":"مستوى إثبات الهوية",
"mail2fLogo":"Logo",
"mail2fLogo":"شعار",
"mailBody":"محتوى البريد الناجح",
"mailCharset":"charset",
"mailConfirmBody":"تأكيد محتوى البريد",
@ -416,7 +416,7 @@
"mailOther":"آخر",
"mailReplyTo":"عنوان الجواب",
"mailSessionKey":"مفتاح الجلسة الذي يحتوي على عنوان البريد الإلكتروني",
"mailSubject":"Success mail subject",
"mailSubject":"نجاح عنوان البريد",
"mailTimeout":"عدم تطابق كلمت المرور",
"mailUrl":"Reset page URL",
"maintenance":"وضع الصيانة",
@ -570,7 +570,7 @@
"openIdAttr":"تسجيل الدخول في أوبين أيدي",
"openIdAuthnLevel":"مستوى إثبات الهوية",
"openIdExportedVars":"المتغيرات المصدرة",
"openIdIDPList":"Authorized domains",
"openIdIDPList":"النطاقات المرخص",
"openIdIssuerSecret":"التوكن السري",
"openidParams":"معاييرأوبين أيدي",
"openIdSecret":"التوكن السري",
@ -584,7 +584,7 @@
"openIdSreg_gender":"الجنس",
"openIdSreg_email":"البريد الإلكتروني",
"openIdSreg_dob":"تاريخ الولادة",
"openIdSPList":"Authorized domains",
"openIdSPList":"النطاقات المرخص",
"OpenIDConnect":"أوبين أيدي كونيكت",
"OptionalTitle":"عنوان الخيارات",
"overPrm":"المعلمات الزائد",
@ -602,7 +602,7 @@
"plugins":"الإضافات",
"port":"المنفذ",
"portal":"يو آر إل",
"portalAntiFrame":"Anti iFrame protection",
"portalAntiFrame":"حماية الإطار",
"portalButtons":"أزرار على صفحة تسجيل الدخول",
"portalCaptcha":"كلمة التحقق أو الكابتشا ",
"portalCheckLogins":"تحقق من آخر تسجيلات دخول",
@ -663,7 +663,7 @@
"registerDoneSubject":"عنوان البريد الذي تم القيام به",
"registerTimeout":"مدة صلاحية طلب التسجيل",
"registerUrl":"Register page URL",
"reloadParams":"Configuration reload",
"reloadParams":"إعادة تحميل الإعدادات",
"reloadTimeout":"Reload timeout",
"reloadUrls":"Reload URLs",
"remoteCookieName":"اسم ملف تعريف الارتباط",
@ -679,11 +679,11 @@
"restore":"استعادة",
"restoreConf":"استعادة التكوين",
"rest2f":"REST second factor",
"rest2fActivation":"Activation",
"rest2fActivation":"تفعيل",
"rest2fAuthnLevel":"مستوى إثبات الهوية",
"rest2fInitArgs":"Init Arguments",
"rest2fInitUrl":"Init URL",
"rest2fLogo":"Logo",
"rest2fLogo":"شعار",
"rest2fVerifyArgs":"Verify Arguments",
"rest2fVerifyUrl":"Verify URL",
"restParams":"معايير ريست",
@ -699,7 +699,7 @@
"save":"حفظ",
"saveReport":"احفظ التقرير",
"savingConfirmation":"حفظ التأكيد",
"scope":"Scope",
"scope":"نطاق",
"search":"Search ...",
"secondFactors":"Second factors",
"securedCookie":"ملفات تعريف الارتباط المضمونة (سسل)",
@ -763,14 +763,14 @@
"timeoutActivityInterval":"فترة تحديث الجلسات",
"tokenUseGlobalStorage":"استخدام سعة التخزين العامة",
"totp":"TOTP",
"totp2fActivation":"Activation",
"totp2fActivation":"تفعيل",
"totp2fAuthnLevel":"TOTP authentication level",
"totp2fDigits":"Number of digits",
"totp2fDisplayExistingSecret":"Display existing secret",
"totp2fInterval":"Interval",
"totp2fIssuer":"TOTP Issuer name",
"totp2fRange":"Range of attempts",
"totp2fSelfRegistration":"Self registration",
"totp2fSelfRegistration":"التسجيل الذاتي",
"totp2fUserCanChangeKey":"Change existing secret",
"totp2fUserCanRemoveKey":"Authorize user to remove TOTP",
"trustedDomains":"النطاقات الموثوق بها",
@ -808,7 +808,7 @@
"useRedirectOnForbidden":"ممنوع إعادة التوجيه ",
"useSafeJail":"استخدام السجن الآمن",
"utotp2f":"TOTP-or-U2F",
"utotp2fActivation":"Activation",
"utotp2fActivation":"تفعيل",
"utotp2fAuthnLevel":"مستوى إثبات الهوية",
"value":"القيمة",
"values":"القيم",
@ -841,21 +841,21 @@
"wsdlServer":"WSDL server",
"XMLcontent":"محتوى XML",
"yubikey2f":"Yubikey",
"yubikey2fActivation":"Activation",
"yubikey2fActivation":"تفعيل",
"yubikey2fAuthnLevel":"مستوى إثبات الهوية",
"yubikey2fClientID":"API client ID",
"yubikey2fClientID":"API العميل ID",
"yubikey2fNonce":"Nonce",
"yubikey2fPublicIDSize":"OTP public ID part size",
"yubikey2fSecretKey":"API secret key",
"yubikey2fPublicIDSize":"حجم الجزء العام لي OTP آي دي",
"yubikey2fSecretKey":"مفتاح سرأل API",
"yubikey2fSelfRegistration":"Self registration",
"yubikey2fUrl":"Service URL",
"yubikey2fUrl":"خدمة أل يو أر ل",
"yubikey2fUserCanRemoveKey":"Authorize user to remove Yubikey",
"zeroConfExplanations":"لا يحتوي الخادم على إعدادات. استخدام قالب لحفظ الأول",
"saml":"SAML",
"samlAttribute":"خاصيات SAML",
"samlDiscoveryProtocol":"Discovery Protocol",
"samlDiscoveryProtocolActivation":"Activation",
"samlDiscoveryProtocolActivation":"تفعيل",
"samlDiscoveryProtocolIsPassive":"Is Passive",
"samlDiscoveryProtocolPolicy":"Policy",
"samlDiscoveryProtocolURL":"EndPoint URL",
@ -865,7 +865,7 @@
"samlNameIDFormatMapWindows":"ويندوز",
"samlNameIDFormatMapKerberos":"كيربيروس",
"samlIDP":"مزود الهوية SAML",
"samlIDPMetaDataNodes":"SAML Identity Providers",
"samlIDPMetaDataNodes":"مزود الهوية SAML",
"samlIDPMetaDataXML":"البيانات الوصفية",
"samlIDPMetaDataExportedAttributes":"السمات المصدرة",
"samlIDPMetaDataOptions":"الخيارات",
@ -892,15 +892,15 @@
"samlIDPMetaDataOptionsSignature":"توقيع",
"samlIDPMetaDataOptionsBinding":"ربط",
"samlIDPMetaDataOptionsDisplay":"عرض",
"samlIDPMetaDataOptionsDisplayName":"Display name",
"samlIDPMetaDataOptionsDisplayName":"عرض الاسم",
"samlIDPMetaDataOptionsDisplayParams":"عرض",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsIcon":"شعار",
"samlIDPMetaDataOptionsSecurity":"الحماية",
"samlIDPMetaDataOptionsSortNumber":"Order",
"samlIDPMetaDataOptionsStoreSAMLToken":"حفظ SAML توكن",
"samlIDPMetaDataOptionsRelayStateURL":"السماح بعنوان اليو آر إل ك RelayState",
"samlIDPMetaDataOptionsUserAttribute":"Attribute containing user identifier",
"samlSPMetaDataNodes":"SAML Service Providers",
"samlSPMetaDataNodes":"مزود خدمة SAML",
"samlSPMetaDataXML":"البيانات الوصفية",
"samlSPMetaDataExportedAttributes":"السمات المصدرة",
"samlSPMetaDataOptions":"الخيارات",
@ -921,7 +921,7 @@
"samlSPMetaDataOptionsForceUTF8":"فرضUTF-8 ",
"samlSPMetaDataOptionsRule":"قاعدة الدخول",
"samlIDPName":"اسم SAML IDP",
"samlServiceMetaData":"SAML2 Service",
"samlServiceMetaData":"خدمة 2 SAML",
"samlEntityID":"معرف الكيان",
"samlOrganization":"المنظمة",
"samlOrganizationDisplayName":"عرض الاسم",

View File

@ -9,7 +9,7 @@
"_lassoSessionDump":"Lasso session dump",
"_lastAuthnUTime":"Authentication timestamp",
"_lastSeen":"Last activity timestamp",
"_loginHistory":"Login history",
"_loginHistory":"Anmeldeverlauf",
"_oidc_access_token":"Access Token",
"_oidc_id_token":"ID Token",
"_oidc_OP":"Provider key",
@ -489,12 +489,12 @@
"oidcOPMetaDataJSON":"Metadata",
"oidcOPMetaDataJWKS":"JWKS data",
"oidcOPMetaDataNode":"OpenID Connect Providers",
"oidcOPMetaDataOptions":"Options",
"oidcOPMetaDataOptions":"Optionen",
"oidcRPMetaDataOptionsAuthentication":"Authentication",
"oidcOPMetaDataOptionsCheckJWTSignature":"Check JWT signature",
"oidcOPMetaDataOptionsClientID":"Client ID",
"oidcOPMetaDataOptionsClientSecret":"Client secret",
"oidcOPMetaDataOptionsConfiguration":"Configuration",
"oidcOPMetaDataOptionsConfiguration":"Konfiguration",
"oidcOPMetaDataOptionsConfigurationURI":"Configuration endpoint",
"oidcOPMetaDataOptionsDisplay":"Display",
"oidcOPMetaDataOptionsDisplayName":"Display name",
@ -694,7 +694,7 @@
"returnUrl":"Return URL",
"rp":"Relying Party",
"rule":"Rule",
"rules":"Rules",
"rules":"Regeln",
"Same":"Same",
"save":"Save",
"saveReport":"Save report",
@ -735,7 +735,7 @@
"SMTPAuthPass":"SMTP password",
"SMTPAuthUser":"SMTP user",
"SMTPPort":"SMTP port",
"SMTPServer":"SMTP server",
"SMTPServer":"SMTP Server",
"SMTPTLS":"SSL/TLS protocol",
"SMTPTLSOpts":"SSL/TLS options",
"soapConfigServer":"SOAP configuration server",
@ -798,7 +798,7 @@
"uri":"URI",
"url":"URL",
"use":"Use",
"user":"user",
"user":"Benutzer",
"users":"Users",
"userDB":"Users module",
"userdbOnly":"User DB only",
@ -864,7 +864,7 @@
"samlNameIDFormatMapX509":"X509",
"samlNameIDFormatMapWindows":"Windows",
"samlNameIDFormatMapKerberos":"Kerberos",
"samlIDP":"SAML identity provider",
"samlIDP":"SAML Identitätsanbieter",
"samlIDPMetaDataNodes":"SAML Identity Providers",
"samlIDPMetaDataXML":"Metadata",
"samlIDPMetaDataExportedAttributes":"Exported attributes",
@ -974,7 +974,7 @@
"samlStorage":"SAML sessions module name",
"samlStorageOptions":"SAML sessions module options",
"samlAuthnContextMap":"Authentication contexts",
"samlAuthnContextMapPassword":"Password",
"samlAuthnContextMapPassword":"Passwort",
"samlAuthnContextMapPasswordProtectedTransport":"Password protected transport",
"samlAuthnContextMapTLSClient":"TLS client",
"samlAuthnContextMapKerberos":"Kerberos",

View File

@ -293,7 +293,7 @@
"impersonationRule":"Usa la regola",
"impersonationIdRule":"Le identità usano la regola",
"impersonationHiddenAttributes":"Attributi nascosti",
"impersonationMergeSSOgroups":"Unisci gruppi SSO falsificati e reali",
"impersonationMergeSSOgroups":"Unisci gruppi SSO usurpati e reali",
"impersonationPrefix":"Prefisso degli attributi reali",
"impersonationSkipEmptyValues":"Salta valori vuoti",
"incompleteForm":"Mancano campi obbligatori",

View File

@ -68,7 +68,7 @@
"authParams":"Thông số xác thực",
"auto":"Tự động",
"autoSignin":"Auto Signin",
"autoSigninRules":"Rules",
"autoSigninRules":"Quy tắc",
"backtoportal":"Quay lại cổng thông tin",
"badCasProxyId":"Dịch vụ định danh đệm bởi CAS không hợp lệ",
"badChoiceKey":"Tên khoá không hợp lệ trong trình đơn Chọn",
@ -124,7 +124,7 @@
"casSrv":"CAS Server",
"casSrvMetaDataExportedVars":"Thuộc tính xuất",
"casSrvMetaDataOptions":"Tùy chọn",
"casSrvMetaDataOptionsDisplay":"Display",
"casSrvMetaDataOptionsDisplay":"Hiển thị",
"casSrvMetaDataOptionsDisplayName":"Tên để hiển thị",
"casSrvMetaDataOptionsGateway":"Xác thực Gateway",
"casSrvMetaDataOptionsIcon":"Đường dẫn Icon",
@ -151,11 +151,11 @@
"checkXSS":"Kiểm tra tấn công XSS",
"clickHereToForce":"Nhấp vào đây để bắt buộc",
"checkState":"Kích hoạt",
"checkStateSecret":"Shared secret",
"checkStateSecret":"Chia sẻ bí mật",
"checkUsers":"SSO profile Check",
"checkUser":"Activation",
"checkUser":"Kích hoạt",
"checkUserIdRule":"Identities use rule",
"checkUserHiddenAttributes":"Hidden attributes",
"checkUserHiddenAttributes":"Thuộc tính ẩn",
"checkUserDisplayPersistentInfo":"Display persistent session",
"checkUserDisplayEmptyValues":"Display empty values",
"choiceParams":"Các tham số lựa chọn",
@ -275,7 +275,7 @@
"globalStorageOptions":"Tham số mô đun Apache :: Session ",
"gpgAuthnLevel":"Mức xác thực",
"gpgDb":"GPG database",
"gpgParams":"GPG parameters",
"gpgParams":"Tham số GPG",
"grantSessionRules":"Điều kiện mở",
"groups":"Nhóm",
"hashkey":"Khóa",
@ -290,9 +290,9 @@
"httpOnly":"Bảo vệ Javascript",
"https":"HTTPS",
"impersonation":"Impersonation",
"impersonationRule":"Use rule",
"impersonationRule":"Quy tắc sử dụn",
"impersonationIdRule":"Identities use rule",
"impersonationHiddenAttributes":"Hidden attributes",
"impersonationHiddenAttributes":"Thuộc tính ẩn",
"impersonationMergeSSOgroups":"Merge spoofed and real SSO groups",
"impersonationPrefix":"Real attributes prefix",
"impersonationSkipEmptyValues":"Skip empty values",
@ -376,10 +376,10 @@
"ldapVersion":"Phiên bản",
"linkedInAuthnLevel":"Mức xác thực",
"linkedInClientID":"Client ID",
"linkedInClientSecret":"Client secret",
"linkedInClientSecret":"Trình khách bí mật",
"linkedInFields":"Searched fields",
"linkedinParams":"LinkedIn Parameters",
"linkedInScope":"Scope",
"linkedInScope":"Phạm vi",
"linkedInUserField":"Field containing user identifier",
"load":"Tải",
"loadedConfiguration":"Cấu hình đã tải",
@ -397,14 +397,14 @@
"lwpSslOpts":"Tùy chọn SSL cho yêu cầu máy chủ",
"macros":"Macros",
"mail2f":"Mail second factor",
"mail2fActivation":"Activation",
"mail2fActivation":"Kích hoạt",
"mail2fCodeRegex":"Code regex",
"mail2fTimeout":"Code timeout",
"mail2fSubject":"Mail subject",
"mail2fBody":"Mail body",
"mail2fAuthnLevel":"Mức xác thực",
"mail2fLogo":"Logo",
"mailBody":"Success mail content",
"mailBody":"Nội dung thư thành công",
"mailCharset":"Charset",
"mailConfirmBody":"Xác nhận nội dung thư",
"mailConfirmSubject":"Xác nhận chủ đề thư",
@ -602,7 +602,7 @@
"plugins":"Plugins",
"port":"Cổng",
"portal":"URL",
"portalAntiFrame":"Anti iFrame protection",
"portalAntiFrame":"Bảo vệ chống lại khung",
"portalButtons":"Nút trên trang đăng nhập",
"portalCaptcha":"Captcha",
"portalCheckLogins":"Kiểm tra đăng nhập lần cuối",
@ -663,7 +663,7 @@
"registerDoneSubject":"Tiêu đề cho thư đã hoàn tất",
"registerTimeout":"Thời hạn hiệu lực của yêu cầu đăng ký",
"registerUrl":"Register page URL",
"reloadParams":"Configuration reload",
"reloadParams":"Tải lại cấu hình",
"reloadTimeout":"Reload timeout",
"reloadUrls":"Reload URLs",
"remoteCookieName":"Tên cookie",
@ -699,7 +699,7 @@
"save":"Lưu",
"saveReport":"Lưu báo cáo",
"savingConfirmation":"Lưu xác nhận",
"scope":"Scope",
"scope":"Phạm vi",
"search":"Search ...",
"secondFactors":"Second factors",
"securedCookie":"Cookie bảo mật (SSL)",
@ -848,7 +848,7 @@
"yubikey2fPublicIDSize":"Kích thước phần tử công khai OTP",
"yubikey2fSecretKey":"Khóa bí mật API",
"yubikey2fSelfRegistration":"Tự đăng ký",
"yubikey2fUrl":"Service URL",
"yubikey2fUrl":"Dịch vụ URL",
"yubikey2fUserCanRemoveKey":"Authorize user to remove Yubikey",
"zeroConfExplanations":"Máy chủ không có cấu hình. Sử dụng mẫu để lưu đầu tiên. ",
@ -891,9 +891,9 @@
"samlIDPMetaDataOptionsSession":"Phiên",
"samlIDPMetaDataOptionsSignature":"Chữ ký",
"samlIDPMetaDataOptionsBinding":"Liên kết",
"samlIDPMetaDataOptionsDisplay":"Display",
"samlIDPMetaDataOptionsDisplayName":"Display name",
"samlIDPMetaDataOptionsDisplayParams":"Display",
"samlIDPMetaDataOptionsDisplay":"Hiển thị",
"samlIDPMetaDataOptionsDisplayName":"Tên hiển thị",
"samlIDPMetaDataOptionsDisplayParams":"Hiển thị",
"samlIDPMetaDataOptionsIcon":"Logo",
"samlIDPMetaDataOptionsSecurity":"Bảo mật",
"samlIDPMetaDataOptionsSortNumber":"Order",

View File

@ -82,8 +82,8 @@
"PE80":"هذا العنوان مستعمل",
"PE81":"محاولة إثبات الهوية غير ناجحة",
"PE82":"تم تجاوز مهلة إثبات الهوية",
"PE83":"U2F verification failed. Retry or contact your administrator",
"PE84":"You're not authorized to access to this host",
"PE83":"فشل التحقق من U2F. أعد محاولة الاتصال بالمشرف أو اتصل به",
"PE84":"أنت غير مخول بالدخول إلى هذا الخادم",
"PE85":" الموقع البعيد يطلب جلسة جديدة (ولم يتم تحميل برنامج ترقية الجلسة).\nسجل الخروج و أعد المحاولة",
"PE86":"Your account is locked. You must wait 30s before authenticate again",
"PE87":"You must authenticate again to access to Portal",
@ -102,8 +102,8 @@
"allowed":"Access ALLOWED",
"anotherInformation":"معلومات أخرى:",
"areYouSure":"هل أنت واثق؟",
"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?",
"askToRenew":"هذا التطبيق يحتاج إلى مصادقة أكثر حداثة. هل تريد إعادة المصادقة؟",
"askToUpgrade":"هذا التطبيق يحتاج إلى مستوى مصادقة أعلى. هل تريد إعادة المصادقة؟",
"attributes":"ATTRIBUTES",
"authPortal":"بوابة إثبات الهوية",
"authRemaining":"٪ s المصادقة المتبقية، غيير كلمة المرور الخاصة بك!",
@ -125,7 +125,7 @@
"closeSSO":"أغلق جلسة الدخول الموحد (سسو)",
"code":"الشفرة",
"confirmation":"التأكيد",
"confirmLinkSent":"A confirmation link has been sent. This link is valid until ",
"confirmLinkSent":"تم إرسال رابط تأكيد، وهذا الرابط صالح حتى",
"confirmPwd":"تأكيد كلمة المرور",
"connect":"الاتصال",
"connectedAs":"متصل ك",
@ -153,7 +153,7 @@
"imSure":"انا متاكد",
"info":"معلومات",
"ipAddr":"عنوان الأي بي",
"key":"Key",
"key":"المفتاح",
"lastFailedLogins":"عمليات تسجيل الدخول الأخيرة الغير الناجحة",
"lastLogins":"آخر تسجيلات دخول",
"lastName":"اسم العائلة",
@ -162,7 +162,7 @@
"login":"تسجيل الدخول",
"logout":"تسجيل الخروج",
"logoutConfirm":"هل تريد تسجيل الخروج؟",
"logoutFromOtherApp":"Logout from other applications ...",
"logoutFromOtherApp":"تسجيل الخروج من التطبيقات الأخرى ...",
"logoutFromSP":"Logout from service providers ...",
"macros":"MACROS",
"mail":"البريد",
@ -170,7 +170,7 @@
"maintenanceMode":"هذا التطبيق في صيانة، يرجى محاولة الاتصال في وقت لاحق",
"maxNumberof2FDevicesReached":"Maximum number of 2F devices reached!!!",
"missingCode":"Code is missing",
"name":"Name",
"name":"اسم",
"newMessages":"رسالة جديدة (رسائل)",
"newPassword":"كلمة مرور جديدة",
"newPwdSentTo":"تم إرسال تأكيد إلى عنوان بريدك الإلكتروني.",
@ -211,7 +211,7 @@
"resentConfirm":"هل تريد إعادة إرسال رسالة التأكيد؟",
"resetPwd":"إعادة تعيين كلمة المرور الخاصة بي",
"rightsReloadNeedsLogout":" إعادة تحميل الحقوق تحتاج إلى تسجيل الخروج وتسجيل الدخول مرة أخرى",
"scope":"Scope",
"scope":"نطاق",
"search":"Search",
"selectIdP":"اختر موفر الهوية الخاص بك",
"service":"Service",
@ -227,7 +227,7 @@
"totpExistingKey":"A TOTP secret already exists",
"touchU2fDevice":"يرجى لمس جهاز U2F وامض الآن.",
"touchU2fDeviceOrEnterTotp":"Please touch the flashing U2F device or enter TOTP code.",
"type":"Type",
"type":"نوع",
"u2fFailed":"فشل التحقق من U2F. أعد محاولة الاتصال بالمشرف أو اتصل به",
"u2fPermission":"قد تتم مطالبتك بالسماح للموقع إذن الوصول إلى مفاتيح الأمان الخاصة بك.بعد منح الإذن، سيبدأ الجهاز في العملية.",
"u2fWelcome":"U2F device management",
@ -238,7 +238,7 @@
"upgradeSession":"ترقية الجلسة",
"user":"المستخدم",
"useYubikey":"استخدم اليوبي كي الخاص بك",
"value":"Value",
"value":"القيمة",
"verify":"التحقق",
"VHnotFound":"Virtual Host not found",
"wait":"انتظر",

View File

@ -125,7 +125,7 @@
"closeSSO":"Schließe deine SSO-Sitzung",
"code":"Code",
"confirmation":"Bestätigung",
"confirmLinkSent":"A confirmation link has been sent. This link is valid until ",
"confirmLinkSent":"Ein Bestätigungslink wurde gesendet. Dieser Link ist gültig bis",
"confirmPwd":"Passwort bestätigen",
"connect":"Verbinden",
"connectedAs":"Verbunden als",
@ -228,7 +228,7 @@
"touchU2fDevice":"Please touch the flashing U2F device now.",
"touchU2fDeviceOrEnterTotp":"Please touch the flashing U2F device or enter TOTP code.",
"type":"Typ",
"u2fFailed":"U2F verification failed. Retry or contact your administrator",
"u2fFailed":"U2F-Überprüfung fehlgeschlagen. Versuchen Sie es erneut oder wenden Sie sich an Ihren Administrator",
"u2fPermission":"You may be prompted to allow the site permission to access your security keys. After granting permission, the device will start to blink.",
"u2fWelcome":"U2F - Geräteverwaltung",
"unableToGetKey":"Unable to access to your key. Retry or contact your administrator",
@ -237,7 +237,7 @@
"updateCdc":"Update Common Domain Cookie",
"upgradeSession":"Upgrade session",
"user":"Benutzer",
"useYubikey":"use your Yubikey",
"useYubikey":"Benutze deinen Yubikey",
"value":"Value",
"verify":"Verify",
"VHnotFound":"Virtual Host not found",

View File

@ -220,7 +220,7 @@
"serviceProvidedBy":"Servizio offerto da",
"sessionsDeleted":"Le sessioni seguenti sono state chiuse",
"sfaManager":"2ndFA Manager",
"spoofId":"Id falsificato",
"spoofId":"Id usurpato",
"SSOSessionInactive":"Sessione SSO inattiva",
"stayConnected":"Resta connesso su questo dispositivo",
"submit":"Invia",

View File

@ -153,7 +153,7 @@
"imSure":"Tôi chắc chắn",
"info":"Thông tin",
"ipAddr":"Địa chỉ IP",
"key":"Key",
"key":"Khóa",
"lastFailedLogins":"Lần cuối đăng nhập thất bại",
"lastLogins":"Đăng nhập lần cuối",
"lastName":"Họ",
@ -170,14 +170,14 @@
"maintenanceMode":"Ứng dụng này đang trong quá trình bảo trì, hãy thử kết nối sau",
"maxNumberof2FDevicesReached":"Maximum number of 2F devices reached!!!",
"missingCode":"Code is missing",
"name":"Name",
"name":"Tên",
"newMessages":"(Các) tin nhắn mới",
"newPassword":"Mật khẩu mới",
"newPwdSentTo":"Một xác nhận đã được gửi đến địa chỉ thư của bạn.",
"noHistory":"Đây là kết nối đầu tiên của bạn, chào mừng!",
"notAuthorized":"You're not authorized to do this",
"notFound":"Không tìm thấy: bạn cố gắng truy cập vào một trang không có sẵn",
"noTOTPFound":"No TOTP found",
"noTOTPFound":"Đăng xuất khỏi các ứng dụng khác",
"noU2FKeyFound":"No U2F key found",
"oidcConsent":"Ứng dụng %s muốn biết:",
"oidcConsents":"OIDC consents",
@ -211,7 +211,7 @@
"resentConfirm":"Bạn có muốn gửi lại thư xác nhận không?",
"resetPwd":"Đặt lại mật khẩu của tôi",
"rightsReloadNeedsLogout":"Tải lại quyền cần đăng xuất và đăng nhập lại",
"scope":"Scope",
"scope":"Phạm vi",
"search":"Search",
"selectIdP":"Chọn bộ cung cấp danh tính của bạn",
"service":"Service",
@ -227,7 +227,7 @@
"totpExistingKey":"A TOTP secret already exists",
"touchU2fDevice":"Vui lòng chạm vào thiết bị U2F nhấp nháy ngay bây giờ.",
"touchU2fDeviceOrEnterTotp":"Please touch the flashing U2F device or enter TOTP code.",
"type":"Type",
"type":"Loại",
"u2fFailed":"Xác minh U2F thất bại. Thử lại hoặc liên hệ với quản trị viên của bạn ",
"u2fPermission":"Bạn có thể được nhắc cho phép trang web được phép truy cập vào các khóa bảo mật của bạn. Sau khi cho phép, thiết bị sẽ bắt đầu nhấp nháy. ",
"u2fWelcome":"U2F device management",
@ -238,7 +238,7 @@
"upgradeSession":"Phiên nâng cấp",
"user":"Người dùng",
"useYubikey":"sử dụng Yubikey của bạn",
"value":"Value",
"value":"Giá trị",
"verify":"Xác minh",
"VHnotFound":"Virtual Host not found",
"wait":"Hãy đợi",

View File

@ -83,7 +83,7 @@
"PE81":"Invalid authentication attempt",
"PE82":"Exceeded authentication timeout",
"PE83":"U2F verification failed. Retry or contact your administrator",
"PE84":"You're not authorized to access to this host",
"PE84":"您没有授权访问该主机",
"PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry",
"PE86":"Your account is locked. You must wait 30s before authenticate again",
"PE87":"You must authenticate again to access to Portal",
@ -125,7 +125,7 @@
"closeSSO":"Close your SSO session",
"code":"代码",
"confirmation":"确认",
"confirmLinkSent":"A confirmation link has been sent. This link is valid until ",
"confirmLinkSent":"确认链接已发送,链接有效期是",
"confirmPwd":"确认密码",
"connect":"连接",
"connectedAs":"作为链接",
@ -158,7 +158,7 @@
"lastLogins":"上次登陆",
"lastName":"姓氏",
"linkValidUntil":"This message contains a link to reset your password, this link is valid until ",
"loginHistory":"Login history",
"loginHistory":"登陆记录",
"login":"登陆",
"logout":"注销登录",
"logoutConfirm":"您想注销登录吗?",
@ -196,7 +196,7 @@
"pwdChange":"Password change",
"pwd":"密码",
"pwdResetAlreadyIssued":"A password reset request was already issued on ",
"pwdWillExpire":"%s days, %s hours, %s minutes and %s seconds before password expiration, change it!",
"pwdWillExpire":"距离密码失效还有 %d 天, %d 小时, %d 分钟, %d 秒, 请修改!",
"redirectedFrom":"您重定向自",
"redirectedIn":"您将30秒后重定向",
"redirectionInProgres":"重定向进行中",

View File

@ -65,18 +65,18 @@
</div>
</div>
<TMPL_IF NAME="PORTAL_URL">
<div id="logout">
<div class="buttons">
<a href="<TMPL_VAR NAME="PORTAL_URL">/?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span>
<span trspan="cancel">Cancel</span>
</a>
</div>
</div>
</TMPL_IF>
<TMPL_IF NAME="CHOICE_PARAM">
<TMPL_IF NAME="PORTAL_URL">
<div id="logout">
<div class="buttons">
<a href="<TMPL_VAR NAME="PORTAL_URL">?cancel=1<TMPL_IF NAME="AUTH_URL">&url=<TMPL_VAR NAME="AUTH_URL"></TMPL_IF>" class="btn btn-primary" role="button">
<span class="fa fa-home"></span>
<span trspan="cancel">Cancel</span>
</a>
</div>
</div>
</TMPL_IF>
</TMPL_IF>
</form>
</div>

View File

@ -4,7 +4,7 @@
"click2Register":"انقر هنا لتأكيد تسجيل حسابك",
"click2Reset":"انقر هنا لإعادة تعيين كلمة المرور",
"hello":"مرحبا ",
"mail2fSubject":"[LemonLDAP::NG] Your login code",
"mail2fSubject":"[LemonLDAP::NG] تسجيل الدخول الخاص بك هو ",
"mailConfirmSubject":"تأكيد إعادة تعيين كلمة المرور[LemonLDAP::NG]",
"mailSubject":"كلمة المرور الجديدة [LemonLDAP::NG]",
"newPwdIs":"كلمة المرور الجديدة هي",

View File

@ -11,7 +11,7 @@ BEGIN {
}
eval { unlink 't/userdb.db' };
my $maintests = 13;
my $maintests = 14;
my $debug = 'error';
my ( $issuer, $sp, $res );
my %handlerOR = ( issuer => [], sp => [] );
@ -110,6 +110,13 @@ SKIP: {
ok( $idp[2] eq 'idp4', '3rd = idp4' ) or print STDERR Dumper( \@idp );
ok( $idp[3] eq 'idp2', '4th= idp2' ) or print STDERR Dumper( \@idp );
# Found Cancel button
ok(
$res->[2]->[0] =~
qr%<a href="http://auth.sp.com\?cancel=1" class="btn btn-primary" role="button">%,
'Found Cancel button'
) or print STDERR Dumper( $res->[2]->[0] );
# Found CAS idp logo and display name
ok(
$res->[2]->[0] =~