Add ldapGetUserBeforePasswordChange to manager (#714)
This commit is contained in:
parent
6517718f26
commit
93988663b4
|
@ -30,7 +30,7 @@ use constant DEFAULTCONFBACKENDOPTIONS => (
|
||||||
dirName => '/usr/local/lemonldap-ng/data/conf',
|
dirName => '/usr/local/lemonldap-ng/data/conf',
|
||||||
);
|
);
|
||||||
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(?:S(?:ervice(?:DynamicRegistrationEx(?:portedVar|traClaim)s|MetaDataAuthnContext)|torageOptions)|RPMetaData(?:(?:Option(?:sExtraClaim)?|ExportedVar|Macro)s|Node)|OPMetaData(?:(?:ExportedVar|Option)s|J(?:SON|WKS)|Node))|penIdExportedVars)|c(?:as(?:A(?:ppMetaData(?:(?:ExportedVar|Option|Macro)s|Node)|ttributes)|S(?:rvMetaData(?:(?:ExportedVar|Option)s|Node)|torageOptions))|(?:ustom(?:Plugins|Add)Param|heckUserHiddenHeader|ombModule)s)|s(?:aml(?:S(?:PMetaData(?:(?:ExportedAttribute|Option|Macro)s|Node|XML)|torageOptions)|IDPMetaData(?:(?:ExportedAttribute|Option)s|Node|XML))|essionDataToRemember|laveExportedVars|fExtra)|a(?:(?:daptativeAuthenticationLevelR|ut(?:hChoiceMod|oSigninR))ules|pplicationList)|p(?:ersistentStorageOptions|o(?:rtalSkinRules|st))|v(?:hostOptions|irtualHost)|S(?:MTPTLSOpts|SLVarIf))$/;
|
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(?:S(?:ervice(?:DynamicRegistrationEx(?:portedVar|traClaim)s|MetaDataAuthnContext)|torageOptions)|RPMetaData(?:(?:Option(?:sExtraClaim)?|ExportedVar|Macro)s|Node)|OPMetaData(?:(?:ExportedVar|Option)s|J(?:SON|WKS)|Node))|penIdExportedVars)|c(?:as(?:A(?:ppMetaData(?:(?:ExportedVar|Option|Macro)s|Node)|ttributes)|S(?:rvMetaData(?:(?:ExportedVar|Option)s|Node)|torageOptions))|(?:ustom(?:Plugins|Add)Param|heckUserHiddenHeader|ombModule)s)|s(?:aml(?:S(?:PMetaData(?:(?:ExportedAttribute|Option|Macro)s|Node|XML)|torageOptions)|IDPMetaData(?:(?:ExportedAttribute|Option)s|Node|XML))|essionDataToRemember|laveExportedVars|fExtra)|a(?:(?:daptativeAuthenticationLevelR|ut(?:hChoiceMod|oSigninR))ules|pplicationList)|p(?:ersistentStorageOptions|o(?:rtalSkinRules|st))|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)|f(?:RemovedUseNotif|OnlyUpgrade)|kip(?:Upgrade|Renew)Confirmation|oap(?:Session|Config)Server|t(?:ayConnecte|orePasswor)d|laveDisplayLogo|howLanguages|slByAjax)|o(?:idc(?:RPMetaDataOptions(?:Allow(?:PasswordGrant|Offline)|Re(?:freshToken|quirePKCE)|LogoutSessionRequired|IDTokenForceClaims|BypassConsent|Public)|ServiceAllow(?:(?:AuthorizationCode|Implicit|Hybrid)Flow|DynamicRegistration)|OPMetaDataOptions(?:(?:CheckJWTSignatur|UseNonc)e|StoreIDToken))|ldNotifFormat)|p(?:ortal(?:Display(?:Re(?:freshMyRights|setPassword|gister)|CertificateResetByMail|GeneratePassword|PasswordPolicy)|ErrorOn(?:ExpiredSession|MailNotFound)|(?:CheckLogin|Statu)s|OpenLinkInNewWindow|ForceAuthn|AntiFrame)|roxyUseSoap)|c(?:o(?:ntextSwitching(?:Allowed2fModifications|StopWithLogout)|mpactConf|rsEnabled)|a(?:ptcha_(?:register|login|mail)_enabled|sSrvMetaDataOptions(?:Gateway|Renew))|heck(?:State|User|XSS)|da)|l(?:dap(?:(?:Group(?:DecodeSearchedValu|Recursiv)|UsePasswordResetAttribut)e|(?:AllowResetExpired|Set)Password|ChangePasswordAsUser|PpolicyControl|ITDS)|oginHistoryEnabled)|no(?:tif(?:ication(?:Server(?:(?:POS|GE)T|DELETE)?|sExplorer)?|y(?:Deleted|Other))|AjaxHook)|i(?:ssuerDB(?:OpenID(?:Connect)?|SAML|CAS|Get)Activation|mpersonationSkipEmptyValues)|to(?:tp2f(?:UserCan(?:Chang|Remov)eKey|DisplayExistingSecret)|kenUseGlobalStorage)|u(?:se(?:RedirectOn(?:Forbidden|Error)|SafeJail)|2fUserCanRemoveKey|pgradeSession)|re(?:st(?:(?:Password|Session|Config|Auth)Server|ExportSecretKeys)|freshSessions)|br(?:uteForceProtection(?:IncrementalTempo)?|owsersDontStorePassword)|d(?:is(?:ablePersistentStorage|playSessionId)|biDynamicHashEnabled)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|g(?:roupsBeforeMacros|lobalLogoutTimer)|a(?:voidAssignment|ctiveTimer)|h(?:ideOldPassword|ttpOnly)|yubikey2fUserCanRemoveKey|krb(?:RemoveDomain|ByJs)|wsdlServer)$/;
|
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)|f(?:RemovedUseNotif|OnlyUpgrade)|kip(?:Upgrade|Renew)Confirmation|oap(?:Session|Config)Server|t(?:ayConnecte|orePasswor)d|laveDisplayLogo|howLanguages|slByAjax)|o(?:idc(?:RPMetaDataOptions(?:Allow(?:PasswordGrant|Offline)|Re(?:freshToken|quirePKCE)|LogoutSessionRequired|IDTokenForceClaims|BypassConsent|Public)|ServiceAllow(?:(?:AuthorizationCode|Implicit|Hybrid)Flow|DynamicRegistration)|OPMetaDataOptions(?:(?:CheckJWTSignatur|UseNonc)e|StoreIDToken))|ldNotifFormat)|p(?:ortal(?:Display(?:Re(?:freshMyRights|setPassword|gister)|CertificateResetByMail|GeneratePassword|PasswordPolicy)|ErrorOn(?:ExpiredSession|MailNotFound)|(?:CheckLogin|Statu)s|OpenLinkInNewWindow|ForceAuthn|AntiFrame)|roxyUseSoap)|l(?:dap(?:(?:G(?:roup(?:DecodeSearchedValu|Recursiv)|etUserBeforePasswordChang)|UsePasswordResetAttribut)e|(?:AllowResetExpired|Set)Password|ChangePasswordAsUser|PpolicyControl|ITDS)|oginHistoryEnabled)|c(?:o(?:ntextSwitching(?:Allowed2fModifications|StopWithLogout)|mpactConf|rsEnabled)|a(?:ptcha_(?:register|login|mail)_enabled|sSrvMetaDataOptions(?:Gateway|Renew))|heck(?:State|User|XSS)|da)|no(?:tif(?:ication(?:Server(?:(?:POS|GE)T|DELETE)?|sExplorer)?|y(?:Deleted|Other))|AjaxHook)|i(?:ssuerDB(?:OpenID(?:Connect)?|SAML|CAS|Get)Activation|mpersonationSkipEmptyValues)|to(?:tp2f(?:UserCan(?:Chang|Remov)eKey|DisplayExistingSecret)|kenUseGlobalStorage)|u(?:se(?:RedirectOn(?:Forbidden|Error)|SafeJail)|2fUserCanRemoveKey|pgradeSession)|re(?:st(?:(?:Password|Session|Config|Auth)Server|ExportSecretKeys)|freshSessions)|br(?:uteForceProtection(?:IncrementalTempo)?|owsersDontStorePassword)|d(?:is(?:ablePersistentStorage|playSessionId)|biDynamicHashEnabled)|(?:mai(?:lOnPasswordChang|ntenanc)|vhostMaintenanc)e|g(?:roupsBeforeMacros|lobalLogoutTimer)|a(?:voidAssignment|ctiveTimer)|h(?:ideOldPassword|ttpOnly)|yubikey2fUserCanRemoveKey|krb(?:RemoveDomain|ByJs)|wsdlServer)$/;
|
||||||
|
|
||||||
our @sessionTypes = ( 'remoteGlobal', 'global', 'localSession', 'persistent', 'saml', 'oidc', 'cas' );
|
our @sessionTypes = ( 'remoteGlobal', 'global', 'localSession', 'persistent', 'saml', 'oidc', 'cas' );
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ our $authParameters = {
|
||||||
githubParams => [qw(githubAuthnLevel githubClientID githubClientSecret githubUserField githubScope)],
|
githubParams => [qw(githubAuthnLevel githubClientID githubClientSecret githubUserField githubScope)],
|
||||||
gpgParams => [qw(gpgAuthnLevel gpgDb)],
|
gpgParams => [qw(gpgAuthnLevel gpgDb)],
|
||||||
kerberosParams => [qw(krbAuthnLevel krbKeytab krbByJs krbRemoveDomain krbAllowedDomains)],
|
kerberosParams => [qw(krbAuthnLevel krbKeytab krbByJs krbRemoveDomain krbAllowedDomains)],
|
||||||
ldapParams => [qw(ldapAuthnLevel ldapExportedVars ldapServer ldapPort ldapVerify ldapBase managerDn managerPassword ldapTimeout ldapIOTimeout ldapVersion ldapRaw ldapCAFile ldapCAPath LDAPFilter AuthLDAPFilter mailLDAPFilter ldapSearchDeref ldapGroupBase ldapGroupObjectClass ldapGroupAttributeName ldapGroupAttributeNameUser ldapGroupAttributeNameSearch ldapGroupDecodeSearchedValue ldapGroupRecursive ldapGroupAttributeNameGroup ldapPpolicyControl ldapSetPassword ldapChangePasswordAsUser ldapPwdEnc ldapUsePasswordResetAttribute ldapPasswordResetAttribute ldapPasswordResetAttributeValue ldapAllowResetExpiredPassword ldapITDS)],
|
ldapParams => [qw(ldapAuthnLevel ldapExportedVars ldapServer ldapPort ldapVerify ldapBase managerDn managerPassword ldapTimeout ldapIOTimeout ldapVersion ldapRaw ldapCAFile ldapCAPath LDAPFilter AuthLDAPFilter mailLDAPFilter ldapSearchDeref ldapGroupBase ldapGroupObjectClass ldapGroupAttributeName ldapGroupAttributeNameUser ldapGroupAttributeNameSearch ldapGroupDecodeSearchedValue ldapGroupRecursive ldapGroupAttributeNameGroup ldapPpolicyControl ldapSetPassword ldapChangePasswordAsUser ldapPwdEnc ldapUsePasswordResetAttribute ldapPasswordResetAttribute ldapPasswordResetAttributeValue ldapAllowResetExpiredPassword ldapGetUserBeforePasswordChange ldapITDS)],
|
||||||
linkedinParams => [qw(linkedInAuthnLevel linkedInClientID linkedInClientSecret linkedInFields linkedInUserField linkedInScope)],
|
linkedinParams => [qw(linkedInAuthnLevel linkedInClientID linkedInClientSecret linkedInFields linkedInUserField linkedInScope)],
|
||||||
nullParams => [qw(nullAuthnLevel)],
|
nullParams => [qw(nullAuthnLevel)],
|
||||||
oidcParams => [qw(oidcAuthnLevel oidcRPCallbackGetParam oidcRPStateTimeout)],
|
oidcParams => [qw(oidcAuthnLevel oidcRPCallbackGetParam oidcRPStateTimeout)],
|
||||||
|
|
|
@ -1658,6 +1658,10 @@ qr/^(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-
|
||||||
'LDAPFilter' => {
|
'LDAPFilter' => {
|
||||||
'type' => 'text'
|
'type' => 'text'
|
||||||
},
|
},
|
||||||
|
'ldapGetUserBeforePasswordChange' => {
|
||||||
|
'default' => 0,
|
||||||
|
'type' => 'bool'
|
||||||
|
},
|
||||||
'ldapGroupAttributeName' => {
|
'ldapGroupAttributeName' => {
|
||||||
'default' => 'member',
|
'default' => 'member',
|
||||||
'type' => 'text'
|
'type' => 'text'
|
||||||
|
|
|
@ -3292,6 +3292,10 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
|
||||||
default => 0,
|
default => 0,
|
||||||
type => 'bool',
|
type => 'bool',
|
||||||
},
|
},
|
||||||
|
ldapGetUserBeforePasswordChange => {
|
||||||
|
default => 0,
|
||||||
|
type => 'bool',
|
||||||
|
},
|
||||||
ldapSearchDeref => {
|
ldapSearchDeref => {
|
||||||
type => 'select',
|
type => 'select',
|
||||||
select => [
|
select => [
|
||||||
|
|
|
@ -302,6 +302,7 @@ sub tree {
|
||||||
'ldapPasswordResetAttribute',
|
'ldapPasswordResetAttribute',
|
||||||
'ldapPasswordResetAttributeValue',
|
'ldapPasswordResetAttributeValue',
|
||||||
'ldapAllowResetExpiredPassword',
|
'ldapAllowResetExpiredPassword',
|
||||||
|
'ldapGetUserBeforePasswordChange',
|
||||||
'ldapITDS'
|
'ldapITDS'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -435,6 +435,7 @@
|
||||||
"ldapFilters":"فلتر",
|
"ldapFilters":"فلتر",
|
||||||
"LDAPFilter":"فلتر الاعْتيادي",
|
"LDAPFilter":"فلتر الاعْتيادي",
|
||||||
"ldapGroupAttributeName":"السمات المستهدف",
|
"ldapGroupAttributeName":"السمات المستهدف",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeNameGroup":"سمات مصدر المجموعة",
|
"ldapGroupAttributeNameGroup":"سمات مصدر المجموعة",
|
||||||
"ldapGroupAttributeNameSearch":"السمات التي تم البحث عنها",
|
"ldapGroupAttributeNameSearch":"السمات التي تم البحث عنها",
|
||||||
"ldapGroupAttributeNameUser":"سمة مصدر المستخدم",
|
"ldapGroupAttributeNameUser":"سمة مصدر المستخدم",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Exported variables",
|
"ldapExportedVars":"Exported variables",
|
||||||
"ldapFilters":"Filters",
|
"ldapFilters":"Filters",
|
||||||
"LDAPFilter":"Default filter",
|
"LDAPFilter":"Default filter",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Target attribute",
|
"ldapGroupAttributeName":"Target attribute",
|
||||||
"ldapGroupAttributeNameGroup":"Group source attribute",
|
"ldapGroupAttributeNameGroup":"Group source attribute",
|
||||||
"ldapGroupAttributeNameSearch":"Searched attributes",
|
"ldapGroupAttributeNameSearch":"Searched attributes",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Exported variables",
|
"ldapExportedVars":"Exported variables",
|
||||||
"ldapFilters":"Filters",
|
"ldapFilters":"Filters",
|
||||||
"LDAPFilter":"Default filter",
|
"LDAPFilter":"Default filter",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Target attribute",
|
"ldapGroupAttributeName":"Target attribute",
|
||||||
"ldapGroupAttributeNameGroup":"Group source attribute",
|
"ldapGroupAttributeNameGroup":"Group source attribute",
|
||||||
"ldapGroupAttributeNameSearch":"Searched attributes",
|
"ldapGroupAttributeNameSearch":"Searched attributes",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Variables exportadas",
|
"ldapExportedVars":"Variables exportadas",
|
||||||
"ldapFilters":"Filtros",
|
"ldapFilters":"Filtros",
|
||||||
"LDAPFilter":"Filtro por defecto",
|
"LDAPFilter":"Filtro por defecto",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Atributo objetivo",
|
"ldapGroupAttributeName":"Atributo objetivo",
|
||||||
"ldapGroupAttributeNameGroup":"Group source attribute",
|
"ldapGroupAttributeNameGroup":"Group source attribute",
|
||||||
"ldapGroupAttributeNameSearch":"Atributos buscados",
|
"ldapGroupAttributeNameSearch":"Atributos buscados",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Variables exportées",
|
"ldapExportedVars":"Variables exportées",
|
||||||
"ldapFilters":"Filtres",
|
"ldapFilters":"Filtres",
|
||||||
"LDAPFilter":"Filtre par défaut",
|
"LDAPFilter":"Filtre par défaut",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Rechercher l'utilisateur avant le changement de mot de passe",
|
||||||
"ldapGroupAttributeName":"Attribut cible",
|
"ldapGroupAttributeName":"Attribut cible",
|
||||||
"ldapGroupAttributeNameGroup":"Attribut source groupe",
|
"ldapGroupAttributeNameGroup":"Attribut source groupe",
|
||||||
"ldapGroupAttributeNameSearch":"Attributs recherchés",
|
"ldapGroupAttributeNameSearch":"Attributs recherchés",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Variabili esportate",
|
"ldapExportedVars":"Variabili esportate",
|
||||||
"ldapFilters":"Filtri",
|
"ldapFilters":"Filtri",
|
||||||
"LDAPFilter":"Filtro predefinito",
|
"LDAPFilter":"Filtro predefinito",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Attributo target",
|
"ldapGroupAttributeName":"Attributo target",
|
||||||
"ldapGroupAttributeNameGroup":"Attributo del gruppo sorgente",
|
"ldapGroupAttributeNameGroup":"Attributo del gruppo sorgente",
|
||||||
"ldapGroupAttributeNameSearch":"Attributi ricercati",
|
"ldapGroupAttributeNameSearch":"Attributi ricercati",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Wyeksportowane zmienne",
|
"ldapExportedVars":"Wyeksportowane zmienne",
|
||||||
"ldapFilters":"Filtry",
|
"ldapFilters":"Filtry",
|
||||||
"LDAPFilter":"Domyślny filtr",
|
"LDAPFilter":"Domyślny filtr",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Atrybut docelowy",
|
"ldapGroupAttributeName":"Atrybut docelowy",
|
||||||
"ldapGroupAttributeNameGroup":"Atrybut źródła grupy",
|
"ldapGroupAttributeNameGroup":"Atrybut źródła grupy",
|
||||||
"ldapGroupAttributeNameSearch":"Szukane atrybuty",
|
"ldapGroupAttributeNameSearch":"Szukane atrybuty",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Dışa aktarılan değişkenler",
|
"ldapExportedVars":"Dışa aktarılan değişkenler",
|
||||||
"ldapFilters":"Filtreler",
|
"ldapFilters":"Filtreler",
|
||||||
"LDAPFilter":"Varsayılan filtre",
|
"LDAPFilter":"Varsayılan filtre",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Hedef nitelik",
|
"ldapGroupAttributeName":"Hedef nitelik",
|
||||||
"ldapGroupAttributeNameGroup":"Grup kaynağı niteliği",
|
"ldapGroupAttributeNameGroup":"Grup kaynağı niteliği",
|
||||||
"ldapGroupAttributeNameSearch":"Aranan nitelikler",
|
"ldapGroupAttributeNameSearch":"Aranan nitelikler",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Biến đã được xuất",
|
"ldapExportedVars":"Biến đã được xuất",
|
||||||
"ldapFilters":"Bộ lọc",
|
"ldapFilters":"Bộ lọc",
|
||||||
"LDAPFilter":"Bộ lọc mặc định",
|
"LDAPFilter":"Bộ lọc mặc định",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Thuộc tính đích",
|
"ldapGroupAttributeName":"Thuộc tính đích",
|
||||||
"ldapGroupAttributeNameGroup":"Thuộc tính nguồn nhóm",
|
"ldapGroupAttributeNameGroup":"Thuộc tính nguồn nhóm",
|
||||||
"ldapGroupAttributeNameSearch":"Thuộc tính đã tìm kiếm",
|
"ldapGroupAttributeNameSearch":"Thuộc tính đã tìm kiếm",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"Exported variables",
|
"ldapExportedVars":"Exported variables",
|
||||||
"ldapFilters":"Filters",
|
"ldapFilters":"Filters",
|
||||||
"LDAPFilter":"Default filter",
|
"LDAPFilter":"Default filter",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"Target attribute",
|
"ldapGroupAttributeName":"Target attribute",
|
||||||
"ldapGroupAttributeNameGroup":"Group source attribute",
|
"ldapGroupAttributeNameGroup":"Group source attribute",
|
||||||
"ldapGroupAttributeNameSearch":"Searched attributes",
|
"ldapGroupAttributeNameSearch":"Searched attributes",
|
||||||
|
|
|
@ -434,6 +434,7 @@
|
||||||
"ldapExportedVars":"已匯出的變數",
|
"ldapExportedVars":"已匯出的變數",
|
||||||
"ldapFilters":"過濾器",
|
"ldapFilters":"過濾器",
|
||||||
"LDAPFilter":"預設過濾器",
|
"LDAPFilter":"預設過濾器",
|
||||||
|
"ldapGetUserBeforePasswordChange":"Search for user before password change",
|
||||||
"ldapGroupAttributeName":"目標屬性",
|
"ldapGroupAttributeName":"目標屬性",
|
||||||
"ldapGroupAttributeNameGroup":"群組來源屬性",
|
"ldapGroupAttributeNameGroup":"群組來源屬性",
|
||||||
"ldapGroupAttributeNameSearch":"已搜尋的屬性",
|
"ldapGroupAttributeNameSearch":"已搜尋的屬性",
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user