diff --git a/agent/cmd/server/docs/x-log.json b/agent/cmd/server/docs/x-log.json index 989c6b6704de..128da3e9c9ef 100644 --- a/agent/cmd/server/docs/x-log.json +++ b/agent/cmd/server/docs/x-log.json @@ -1024,6 +1024,13 @@ "formatZH": "删除 AI 网关 API Key", "formatEN": "delete AI proxy API key" }, + "/core/enterprise/ai-proxy/api-keys/reactivate": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "重新激活 AI 网关 API Key", + "formatEN": "reactivate AI proxy API key" + }, "/core/enterprise/ai-proxy/api-keys/reveal": { "bodyKeys": [], "paramKeys": [], @@ -1342,6 +1349,99 @@ "formatZH": "更新 AI 网关智能路由样本 [id] [type] [label]", "formatEN": "update AI proxy smart route sample [id] [type] [label]" }, + "/core/enterprise/auth-sources/ldap/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 LDAP 认证设置", + "formatEN": "update LDAP authentication settings" + }, + "/core/enterprise/auth-sources/ldap/sync/run": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "手动同步 LDAP 用户", + "formatEN": "manually synchronize LDAP users" + }, + "/core/enterprise/auth-sources/ldap/sync/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 LDAP 同步设置", + "formatEN": "update LDAP synchronization settings" + }, + "/core/enterprise/auth-sources/ldap/test-connection": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 LDAP 连接", + "formatEN": "test LDAP connection" + }, + "/core/enterprise/auth-sources/ldap/test-login": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 LDAP 用户登录", + "formatEN": "test LDAP user login" + }, + "/core/enterprise/auth-sources/ldap/users/import": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 LDAP 用户", + "formatEN": "import LDAP users" + }, + "/core/enterprise/auth-sources/oidc/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 OIDC 认证设置", + "formatEN": "update OIDC authentication settings" + }, + "/core/enterprise/auth-sources/oidc/test-configuration": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 OIDC 连接", + "formatEN": "test OIDC connection" + }, + "/core/enterprise/auth-sources/oidc/test-login/begin": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "发起 OIDC 测试登录", + "formatEN": "start OIDC test login" + }, + "/core/enterprise/auth-sources/saml2/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 SAML2 认证设置", + "formatEN": "update SAML2 authentication settings" + }, + "/core/enterprise/auth-sources/saml2/test-configuration": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 SAML2 连接", + "formatEN": "test SAML2 connection" + }, + "/core/enterprise/auth-sources/saml2/test-login/begin": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "发起 SAML2 测试登录", + "formatEN": "start SAML2 test login" + }, + "/core/enterprise/licenses/community-restore": { + "bodyKeys": [ + "mode" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "恢复为社区版", + "formatEN": "restore Community Edition" + }, "/core/enterprise/licenses/upload": { "bodyKeys": [], "paramKeys": [], @@ -4902,6 +5002,69 @@ "formatZH": "上传 ssl 文件 [type]", "formatEN": "Upload ssl file [type]" }, + "/websites/templates": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建网站模板 [name]", + "formatEN": "Create website template [name]" + }, + "/websites/templates/del": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [ + { + "input_column": "id", + "input_value": "id", + "isList": false, + "db": "website_templates", + "output_column": "name", + "output_value": "name" + } + ], + "formatZH": "删除网站模板 [name]", + "formatEN": "Delete website template [name]" + }, + "/websites/templates/outputs": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "生成模板产物 [name]", + "formatEN": "Generate template output [name]" + }, + "/websites/templates/outputs/del": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [ + { + "input_column": "id", + "input_value": "id", + "isList": false, + "db": "website_template_outputs", + "output_column": "name", + "output_value": "name" + } + ], + "formatZH": "删除模板产物 [name]", + "formatEN": "Delete template output [name]" + }, + "/websites/templates/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新网站模板 [name]", + "formatEN": "Update website template [name]" + }, "/websites/update": { "bodyKeys": [ "primaryDomain" diff --git a/core/cmd/server/docs/x-log.json b/core/cmd/server/docs/x-log.json index 989c6b6704de..128da3e9c9ef 100644 --- a/core/cmd/server/docs/x-log.json +++ b/core/cmd/server/docs/x-log.json @@ -1024,6 +1024,13 @@ "formatZH": "删除 AI 网关 API Key", "formatEN": "delete AI proxy API key" }, + "/core/enterprise/ai-proxy/api-keys/reactivate": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "重新激活 AI 网关 API Key", + "formatEN": "reactivate AI proxy API key" + }, "/core/enterprise/ai-proxy/api-keys/reveal": { "bodyKeys": [], "paramKeys": [], @@ -1342,6 +1349,99 @@ "formatZH": "更新 AI 网关智能路由样本 [id] [type] [label]", "formatEN": "update AI proxy smart route sample [id] [type] [label]" }, + "/core/enterprise/auth-sources/ldap/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 LDAP 认证设置", + "formatEN": "update LDAP authentication settings" + }, + "/core/enterprise/auth-sources/ldap/sync/run": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "手动同步 LDAP 用户", + "formatEN": "manually synchronize LDAP users" + }, + "/core/enterprise/auth-sources/ldap/sync/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 LDAP 同步设置", + "formatEN": "update LDAP synchronization settings" + }, + "/core/enterprise/auth-sources/ldap/test-connection": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 LDAP 连接", + "formatEN": "test LDAP connection" + }, + "/core/enterprise/auth-sources/ldap/test-login": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 LDAP 用户登录", + "formatEN": "test LDAP user login" + }, + "/core/enterprise/auth-sources/ldap/users/import": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 LDAP 用户", + "formatEN": "import LDAP users" + }, + "/core/enterprise/auth-sources/oidc/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 OIDC 认证设置", + "formatEN": "update OIDC authentication settings" + }, + "/core/enterprise/auth-sources/oidc/test-configuration": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 OIDC 连接", + "formatEN": "test OIDC connection" + }, + "/core/enterprise/auth-sources/oidc/test-login/begin": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "发起 OIDC 测试登录", + "formatEN": "start OIDC test login" + }, + "/core/enterprise/auth-sources/saml2/setting": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 SAML2 认证设置", + "formatEN": "update SAML2 authentication settings" + }, + "/core/enterprise/auth-sources/saml2/test-configuration": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "测试 SAML2 连接", + "formatEN": "test SAML2 connection" + }, + "/core/enterprise/auth-sources/saml2/test-login/begin": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "发起 SAML2 测试登录", + "formatEN": "start SAML2 test login" + }, + "/core/enterprise/licenses/community-restore": { + "bodyKeys": [ + "mode" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "恢复为社区版", + "formatEN": "restore Community Edition" + }, "/core/enterprise/licenses/upload": { "bodyKeys": [], "paramKeys": [], @@ -4902,6 +5002,69 @@ "formatZH": "上传 ssl 文件 [type]", "formatEN": "Upload ssl file [type]" }, + "/websites/templates": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建网站模板 [name]", + "formatEN": "Create website template [name]" + }, + "/websites/templates/del": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [ + { + "input_column": "id", + "input_value": "id", + "isList": false, + "db": "website_templates", + "output_column": "name", + "output_value": "name" + } + ], + "formatZH": "删除网站模板 [name]", + "formatEN": "Delete website template [name]" + }, + "/websites/templates/outputs": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "生成模板产物 [name]", + "formatEN": "Generate template output [name]" + }, + "/websites/templates/outputs/del": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [ + { + "input_column": "id", + "input_value": "id", + "isList": false, + "db": "website_template_outputs", + "output_column": "name", + "output_value": "name" + } + ], + "formatZH": "删除模板产物 [name]", + "formatEN": "Delete template output [name]" + }, + "/websites/templates/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新网站模板 [name]", + "formatEN": "Update website template [name]" + }, "/websites/update": { "bodyKeys": [ "primaryDomain" diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index 1307bf35aa60..b62ef53a4082 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -450,6 +450,7 @@ Command: "Command" # LDAP ErrLDAPConnectionTest: "LDAP connection test failed. Check the server address, bind account, and network settings." +ErrLDAPLoginTest: "LDAP login test failed. Check the username and password." LDAPConnectionTestSuccess: "LDAP connection test succeeded." ErrLDAPDirectorySearch: "Failed to read LDAP users. Check the connection and search settings." ErrLDAPConfigLoad: "Failed to load the LDAP configuration." diff --git a/core/i18n/lang/es-ES.yaml b/core/i18n/lang/es-ES.yaml index 1349edbd9365..4e17012c9394 100644 --- a/core/i18n/lang/es-ES.yaml +++ b/core/i18n/lang/es-ES.yaml @@ -450,6 +450,7 @@ Command: "Comando" # LDAP ErrLDAPConnectionTest: "La prueba de conexión LDAP falló. Compruebe la dirección del servidor, la cuenta de enlace y la configuración de red." +ErrLDAPLoginTest: "La prueba de inicio de sesión LDAP falló. Compruebe el nombre de usuario y la contraseña." LDAPConnectionTestSuccess: "La prueba de conexión LDAP se realizó correctamente." ErrLDAPDirectorySearch: "No se pudieron leer los usuarios LDAP. Compruebe la conexión y la configuración de búsqueda." ErrLDAPConfigLoad: "No se pudo cargar la configuración LDAP." diff --git a/core/i18n/lang/fa.yaml b/core/i18n/lang/fa.yaml index 988d63a87ded..d38b5b15ed22 100644 --- a/core/i18n/lang/fa.yaml +++ b/core/i18n/lang/fa.yaml @@ -450,6 +450,7 @@ Command: "دستور" # LDAP ErrLDAPConnectionTest: "آزمایش اتصال LDAP ناموفق بود. نشانی سرور، حساب اتصال و تنظیمات شبکه را بررسی کنید." +ErrLDAPLoginTest: "آزمایش ورود LDAP ناموفق بود. نام کاربری و رمز عبور را بررسی کنید." LDAPConnectionTestSuccess: "آزمایش اتصال LDAP با موفقیت انجام شد." ErrLDAPDirectorySearch: "خواندن کاربران LDAP ناموفق بود. تنظیمات اتصال و جستجو را بررسی کنید." ErrLDAPConfigLoad: "بارگذاری پیکربندی LDAP ناموفق بود." diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index 6f43228b8f45..d46dad4bdee7 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -450,6 +450,7 @@ Command: "コマンド" # LDAP ErrLDAPConnectionTest: "LDAP 接続テストに失敗しました。サーバーアドレス、バインドアカウント、ネットワーク設定を確認してください。" +ErrLDAPLoginTest: "LDAP ログインテストに失敗しました。ユーザー名とパスワードを確認してください。" LDAPConnectionTestSuccess: "LDAP 接続テストに成功しました。" ErrLDAPDirectorySearch: "LDAP ユーザーの読み取りに失敗しました。接続と検索設定を確認してください。" ErrLDAPConfigLoad: "LDAP 設定の読み込みに失敗しました。" diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 7f53564a7e1c..ee06550799f7 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -450,6 +450,7 @@ Command: "명령어" # LDAP ErrLDAPConnectionTest: "LDAP 연결 테스트에 실패했습니다. 서버 주소, 바인드 계정 및 네트워크 설정을 확인하세요." +ErrLDAPLoginTest: "LDAP 로그인 테스트에 실패했습니다. 사용자 이름과 비밀번호를 확인하세요." LDAPConnectionTestSuccess: "LDAP 연결 테스트에 성공했습니다." ErrLDAPDirectorySearch: "LDAP 사용자를 읽지 못했습니다. 연결 및 검색 설정을 확인하세요." ErrLDAPConfigLoad: "LDAP 설정을 불러오지 못했습니다." diff --git a/core/i18n/lang/lo.yaml b/core/i18n/lang/lo.yaml index 4530e69c3099..b03905988726 100644 --- a/core/i18n/lang/lo.yaml +++ b/core/i18n/lang/lo.yaml @@ -450,6 +450,7 @@ Command: "ຄຳສັ່ງ" # LDAP ErrLDAPConnectionTest: "ການທົດສອບການເຊື່ອມຕໍ່ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບທີ່ຢູ່ເຊີບເວີ, ບັນຊີຜູກມັດ ແລະການຕັ້ງຄ່າເຄືອຂ່າຍ." +ErrLDAPLoginTest: "ການທົດສອບເຂົ້າລະບົບ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານ." LDAPConnectionTestSuccess: "ການທົດສອບການເຊື່ອມຕໍ່ LDAP ສຳເລັດແລ້ວ." ErrLDAPDirectorySearch: "ອ່ານຜູ້ໃຊ້ LDAP ບໍ່ສຳເລັດ. ກະລຸນາກວດສອບການເຊື່ອມຕໍ່ ແລະການຕັ້ງຄ່າການຄົ້ນຫາ." ErrLDAPConfigLoad: "ໂຫຼດການຕັ້ງຄ່າ LDAP ບໍ່ສຳເລັດ." diff --git a/core/i18n/lang/ms.yaml b/core/i18n/lang/ms.yaml index 76cd51934d3a..e76af0c66450 100644 --- a/core/i18n/lang/ms.yaml +++ b/core/i18n/lang/ms.yaml @@ -450,6 +450,7 @@ Command: "Arahan" # LDAP ErrLDAPConnectionTest: "Ujian sambungan LDAP gagal. Semak alamat pelayan, akaun pengikatan dan tetapan rangkaian." +ErrLDAPLoginTest: "Ujian log masuk LDAP gagal. Semak nama pengguna dan kata laluan." LDAPConnectionTestSuccess: "Ujian sambungan LDAP berjaya." ErrLDAPDirectorySearch: "Gagal membaca pengguna LDAP. Semak tetapan sambungan dan carian." ErrLDAPConfigLoad: "Gagal memuatkan konfigurasi LDAP." diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index 60fea5fc8f13..95edbb6c65c6 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -450,6 +450,7 @@ Command: "Comando" # LDAP ErrLDAPConnectionTest: "Falha no teste de conexão LDAP. Verifique o endereço do servidor, a conta de vinculação e as configurações de rede." +ErrLDAPLoginTest: "Falha no teste de login LDAP. Verifique o nome de usuário e a senha." LDAPConnectionTestSuccess: "Teste de conexão LDAP concluído com sucesso." ErrLDAPDirectorySearch: "Falha ao ler os usuários LDAP. Verifique as configurações de conexão e pesquisa." ErrLDAPConfigLoad: "Falha ao carregar a configuração LDAP." diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index 8a8bb49ce69b..c3967f7799a1 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -450,6 +450,7 @@ Command: "Команда" # LDAP ErrLDAPConnectionTest: "Не удалось выполнить проверку подключения LDAP. Проверьте адрес сервера, учетную запись привязки и настройки сети." +ErrLDAPLoginTest: "Не удалось выполнить проверку входа LDAP. Проверьте имя пользователя и пароль." LDAPConnectionTestSuccess: "Проверка подключения LDAP выполнена успешно." ErrLDAPDirectorySearch: "Не удалось прочитать пользователей LDAP. Проверьте подключение и настройки поиска." ErrLDAPConfigLoad: "Не удалось загрузить конфигурацию LDAP." diff --git a/core/i18n/lang/tr.yaml b/core/i18n/lang/tr.yaml index 49c763fbc548..241396d4c7d1 100644 --- a/core/i18n/lang/tr.yaml +++ b/core/i18n/lang/tr.yaml @@ -450,6 +450,7 @@ Command: "Komut" # LDAP ErrLDAPConnectionTest: "LDAP bağlantı testi başarısız oldu. Sunucu adresini, bağlama hesabını ve ağ ayarlarını kontrol edin." +ErrLDAPLoginTest: "LDAP oturum açma testi başarısız oldu. Kullanıcı adını ve parolayı kontrol edin." LDAPConnectionTestSuccess: "LDAP bağlantı testi başarılı oldu." ErrLDAPDirectorySearch: "LDAP kullanıcıları okunamadı. Bağlantı ve arama ayarlarını kontrol edin." ErrLDAPConfigLoad: "LDAP yapılandırması yüklenemedi." diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index d600dcb71c28..57ec2769a6a4 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -450,6 +450,7 @@ Command: "指令" # LDAP ErrLDAPConnectionTest: "LDAP 連線測試失敗,請檢查服務位址、綁定帳號和網路設定。" +ErrLDAPLoginTest: "LDAP 登入測試失敗,請檢查使用者名稱和密碼。" LDAPConnectionTestSuccess: "LDAP 連線測試成功。" ErrLDAPDirectorySearch: "讀取 LDAP 使用者失敗,請檢查連線和搜尋設定。" ErrLDAPConfigLoad: "載入 LDAP 設定失敗。" diff --git a/core/i18n/lang/zh.yaml b/core/i18n/lang/zh.yaml index 1994ca39c64e..0d1fd107a91b 100644 --- a/core/i18n/lang/zh.yaml +++ b/core/i18n/lang/zh.yaml @@ -450,6 +450,7 @@ Command: "命令" # LDAP ErrLDAPConnectionTest: "LDAP 连接测试失败,请检查服务地址、绑定账号和网络设置。" +ErrLDAPLoginTest: "LDAP 登录测试失败,请检查用户名和密码。" LDAPConnectionTestSuccess: "LDAP 连接测试成功。" ErrLDAPDirectorySearch: "读取 LDAP 用户失败,请检查连接和搜索设置。" ErrLDAPConfigLoad: "加载 LDAP 配置失败。" diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 8f4f6dee1ecd..9c344b567286 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -2286,6 +2286,7 @@ const message = { users: 'User Management', roles: 'Role', auth: 'Login Authentication', + auth_sources: 'Authentication Settings', alert: 'Alert Notifications', sync: 'Resource Sync', exchange: 'Resource Sync', @@ -5316,6 +5317,11 @@ const message = { spCredentials: 'SP private key and certificate', spCredentialsDesc: 'Used to sign sign-in and logout messages. Signature and validation policy is fixed by the backend.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'Unique SP identifier. It must match the Entity ID or audience configured in the IdP and also serves as the SP Metadata URL.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'SP private key', spPrivateKeyHelper: 'Used to sign AuthnRequest and logout messages. It is encrypted at rest and never displayed.', @@ -5363,13 +5369,11 @@ const message = { advancedDesc: 'Configure TLS and LDAP query paging.', strictSync: 'Strict synchronization', strictSyncTooltip: - 'After a complete full import, users missing from this LDAP source are disabled but not deleted.', + 'After a complete full import, users missing from this LDAP source have their authentication status set to Not found in LDAP, but are not deleted.', strictSyncHelper: - 'Only applies to a complete full import. Importing selected users never disables other users.', + "Only applies to a complete full import. Importing selected users does not change other users' authentication status.", skipTLSVerify: 'Skip TLS verification', skipTLSVerifyTooltip: 'Disable certificate verification for LDAPS connections.', - skipTLSVerifyHelper: - 'Use only with a trusted self-signed certificate. This setting is independent of strict synchronization.', connectTimeout: 'Connection timeout (seconds)', searchPageSize: 'LDAP query page size', restore: 'Restore', @@ -5420,10 +5424,7 @@ const message = { defaultRoleHelper: 'Only applies to users created by scheduled synchronization.', defaultRoleRequired: 'Select a role for new LDAP users.', strictSyncHelper: - 'Users missing from a complete full query are disabled and their sessions are cleared; users, roles, and permissions are not deleted.', - safetyTitle: 'Missing users are processed only after a complete LDAP full query', - safetyDescription: - 'A failed query, timeout, or incomplete paged result never changes user status. The synchronization scope follows the User Base DN, filter, and attribute mapping.', + 'After a complete sync, users missing from LDAP are marked as Not found in LDAP and their sessions are cleared without deleting users, roles, or permissions.', runNow: 'Sync now', lastRunSuccess: 'Last sync succeeded: {0}', lastRunFailed: 'Last sync failed: {0}', @@ -5433,7 +5434,7 @@ const message = { saveBeforeRun: 'Save the synchronization settings before running the task.', runConfirmTitle: 'Run strict synchronization', runConfirmDescription: - 'LDAP users missing from a complete full query will be disabled and their active sessions cleared. Continue?', + 'LDAP users missing from a complete full query will have their authentication status set to Not found in LDAP and their active sessions cleared. Continue?', runSuccess: 'LDAP synchronization completed.', weekdays: { 0: 'Sunday', diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index bcde571a3877..d0dadac4206e 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -2320,6 +2320,7 @@ const message = { users: 'Gestión de usuarios', roles: 'Rol', auth: 'Autenticación de inicio de sesión', + auth_sources: 'Configuración de autenticación', alert: 'Notificaciones de alerta', sync: 'Sincronización de Recursos', exchange: 'Sincronización de Recursos', @@ -5408,6 +5409,11 @@ const message = { spCredentials: 'Clave privada y certificado del SP', spCredentialsDesc: 'Se usan para firmar mensajes de inicio y cierre de sesión. El backend fija la política de firma y validación.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'Identificador único del SP. Debe coincidir con el ID de entidad o la audiencia configurada en el IdP; también es la URL de metadatos del SP.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'Clave privada del SP', spPrivateKeyHelper: 'Se usa para firmar AuthnRequest y mensajes de cierre de sesión. Se cifra en reposo y nunca se muestra.', @@ -5458,13 +5464,11 @@ const message = { advancedDesc: 'Configure la paginación de consultas TLS y LDAP.', strictSync: 'Sincronización estricta', strictSyncTooltip: - 'Después de una importación completa, los usuarios que faltan en esta fuente LDAP se deshabilitan pero no se eliminan.', + 'Después de un procesamiento completo, el estado de autenticación de los usuarios que faltan en esta fuente LDAP se marca como No encontrado en LDAP, pero los usuarios no se eliminan.', strictSyncHelper: - 'Solo se aplica a una importación completa. Importar usuarios seleccionados nunca deshabilita a otros usuarios.', + 'Solo se aplica a un procesamiento completo correcto. Importar usuarios seleccionados no cambia el estado de autenticación de otros usuarios.', skipTLSVerify: 'Saltar la verificación TLS', skipTLSVerifyTooltip: 'Deshabilite la verificación de certificados para conexiones LDAPS.', - skipTLSVerifyHelper: - 'Úselo únicamente con un certificado autofirmado confiable. Esta configuración es independiente de la sincronización estricta.', connectTimeout: 'Tiempo de espera de conexión (segundos)', searchPageSize: 'Tamaño de página de consulta LDAP', restore: 'Restaurar', @@ -5516,10 +5520,7 @@ const message = { defaultRoleHelper: 'Solo se aplica a usuarios creados mediante sincronización programada.', defaultRoleRequired: 'Seleccione un rol para los nuevos usuarios de LDAP.', strictSyncHelper: - 'Los usuarios que faltan en una consulta completa se deshabilitan y sus sesiones se borran; Los usuarios, roles y permisos no se eliminan.', - safetyTitle: 'Los usuarios faltantes se procesan solo después de una consulta completa LDAP', - safetyDescription: - 'Una consulta fallida, un tiempo de espera o un resultado paginado incompleto nunca cambian el estado del usuario. El alcance de la sincronización sigue el usuario Base DN, el filtro y la asignación de atributos.', + 'Tras una sincronización completa, marca a los usuarios ausentes en LDAP como No encontrado en LDAP y borra sus sesiones sin eliminar usuarios, roles ni permisos.', runNow: 'Sincronizar ahora', lastRunSuccess: 'Última sincronización exitosa: {0}', lastRunFailed: 'La última sincronización falló: {0}', @@ -5529,7 +5530,7 @@ const message = { saveBeforeRun: 'Guarde la configuración de sincronización antes de ejecutar la tarea.', runConfirmTitle: 'Ejecutar sincronización estricta', runConfirmDescription: - 'Los usuarios de LDAP que falten en una consulta completa serán deshabilitados y sus sesiones activas se borrarán. ¿Continuar?', + 'El estado de autenticación de los usuarios que falten en una consulta LDAP completa se marcará como No encontrado en LDAP y sus sesiones activas se borrarán. ¿Continuar?', runSuccess: 'Sincronización LDAP completada.', weekdays: { 0: 'domingo', diff --git a/frontend/src/lang/modules/fa.ts b/frontend/src/lang/modules/fa.ts index c38c4d95afb1..305c2bfd2d71 100644 --- a/frontend/src/lang/modules/fa.ts +++ b/frontend/src/lang/modules/fa.ts @@ -2263,6 +2263,7 @@ const message = { users: 'مدیریت کاربران', roles: 'نقش', auth: 'احراز هویت ورود', + auth_sources: 'تنظیمات احراز هویت', alert: 'هشدارها', sync: 'همگام‌سازی منابع', exchange: 'همگام‌سازی منابع', @@ -5287,6 +5288,11 @@ const message = { spCredentials: 'کلید خصوصی و گواهی SP', spCredentialsDesc: 'برای امضای پیام‌های ورود و خروج استفاده می‌شود. سیاست امضا و اعتبارسنجی در بخش پشتیبان ثابت است.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'شناسه یکتای SP است. باید با Entity ID یا Audience پیکربندی‌شده در IdP مطابقت داشته باشد و هم‌زمان URL فراداده SP است.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'کلید خصوصی SP', spPrivateKeyHelper: 'برای امضای AuthnRequest و پیام‌های خروج استفاده می‌شود. در حالت ذخیره رمزنگاری شده و هرگز نمایش داده نمی‌شود.', @@ -5332,13 +5338,11 @@ const message = { advancedDesc: 'صفحه بندی پرس و جو TLS و LDAP را پیکربندی کنید.', strictSync: 'همگام سازی دقیق', strictSyncTooltip: - 'پس از وارد کردن کامل، کاربرانی که از این منبع LDAP غایب هستند غیرفعال می شوند اما حذف نمی شوند.', + 'پس از پردازش کامل، وضعیت احراز هویت کاربرانی که در این منبع LDAP وجود ندارند به «در LDAP یافت نشد» تغییر می‌کند، اما کاربران حذف نمی‌شوند.', strictSyncHelper: - 'فقط برای یک واردات کامل اعمال می‌شود. وارد کردن کاربران انتخابی هرگز سایر کاربران را غیرفعال نمی‌کند.', + 'فقط برای پردازش کامل و موفق اعمال می‌شود. وارد کردن کاربران انتخابی وضعیت احراز هویت سایر کاربران را تغییر نمی‌دهد.', skipTLSVerify: 'رد شدن از تأیید TLS', skipTLSVerifyTooltip: 'تأیید گواهی را برای اتصالات LDAPS غیرفعال کنید.', - skipTLSVerifyHelper: - 'فقط با یک گواهی خودامضا مورد اعتماد استفاده کنید. این تنظیم مستقل از همگام سازی دقیق است.', connectTimeout: 'پایان زمان اتصال (ثانیه)', searchPageSize: 'اندازه صفحه پرس و جو LDAP', restore: 'بازیابی کنید', @@ -5389,10 +5393,7 @@ const message = { defaultRoleHelper: 'فقط برای کاربران ایجاد شده توسط همگام سازی برنامه ریزی شده اعمال می شود.', defaultRoleRequired: 'نقشی را برای کاربران جدید LDAP انتخاب کنید.', strictSyncHelper: - 'کاربرانی که در یک پرس‌وجوی کامل وجود ندارند غیرفعال می‌شوند و نشست‌های آنها پاک می‌شود. کاربران، نقش‌ها و مجوزها حذف نمی‌شوند.', - safetyTitle: 'کاربران گمشده فقط پس از یک پرس و جو کامل LDAP پردازش می شوند', - safetyDescription: - 'پرس و جو ناموفق، مهلت زمانی، یا نتیجه صفحه ناقص هرگز وضعیت کاربر را تغییر نمی دهد. محدوده همگام سازی از نگاشت کاربر Base DN، فیلتر و ویژگی پیروی می کند.', + 'پس از همگام‌سازی کامل، کاربران غایب در LDAP به‌عنوان «در LDAP یافت نشد» علامت‌گذاری و نشست‌هایشان پاک می‌شود، بدون حذف کاربر، نقش یا مجوز.', runNow: 'اکنون همگام سازی کنید', lastRunSuccess: 'آخرین همگام سازی موفقیت آمیز: {0}', lastRunFailed: 'آخرین همگام سازی ناموفق بود: {0}', @@ -5402,7 +5403,7 @@ const message = { saveBeforeRun: 'قبل از اجرای کار، تنظیمات همگام سازی را ذخیره کنید.', runConfirmTitle: 'همگام سازی دقیق را اجرا کنید', runConfirmDescription: - 'کاربران LDAP که در یک پرس‌وجوی کامل وجود ندارند غیرفعال می‌شوند و نشست‌های فعال آنها پاک می‌شود. ادامه دهید؟', + 'وضعیت احراز هویت کاربران غایب در پرس‌وجوی کامل LDAP به «در LDAP یافت نشد» تغییر می‌کند و نشست‌های فعال آنها پاک می‌شود. ادامه دهید؟', runSuccess: 'همگام سازی LDAP تکمیل شد.', weekdays: { 0: 'یکشنبه', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index a7526f10ada0..794023ec670d 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -2276,6 +2276,7 @@ const message = { users: 'ユーザー管理', roles: 'ロール', auth: 'ログイン認証', + auth_sources: '認証設定', alert: 'アラート通知', sync: 'リソース同期', exchange: 'リソース同期', @@ -5320,6 +5321,11 @@ const message = { spCredentials: 'SP 秘密鍵と証明書', spCredentialsDesc: 'ログインおよびログアウトメッセージの署名に使用します。署名と検証のポリシーはバックエンドで固定されています。', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'SP の一意の識別子です。IdP に設定したエンティティ ID または Audience と一致させる必要があり、SP メタデータ URL としても使用されます。', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'SP 秘密鍵', spPrivateKeyHelper: 'AuthnRequest とログアウトメッセージの署名に使用します。保存時に暗号化され、表示されることはありません。', @@ -5366,13 +5372,11 @@ const message = { advancedDesc: 'TLS および LDAP クエリ ページングを構成します。', strictSync: '厳密な同期', strictSyncTooltip: - '完全なインポートが完了すると、この LDAP ソースから欠落しているユーザーは無効になりますが、削除されません。', + '完全な全件処理後、この LDAP ソースで見つからないユーザーの認証状態は「LDAP に存在しない」に設定されますが、ユーザーは削除されません。', strictSyncHelper: - '完全な全件インポートにのみ適用されます。選択したユーザーのインポートでは、他のユーザーは無効化されません。', + '完全に成功した全件処理にのみ適用されます。選択したユーザーのインポートでは、他のユーザーの認証状態は変更されません。', skipTLSVerify: 'TLS検証をスキップする', skipTLSVerifyTooltip: 'LDAPS 接続の証明書検証を無効にします。', - skipTLSVerifyHelper: - '信頼できる自己署名証明書のみを使用してください。この設定は厳密な同期とは独立しています。', connectTimeout: '接続タイムアウト (秒)', searchPageSize: 'LDAP クエリ ページ サイズ', restore: '復元', @@ -5422,10 +5426,7 @@ const message = { defaultRoleHelper: 'スケジュールされた同期によって作成されたユーザーにのみ適用されます。', defaultRoleRequired: '新しい LDAP ユーザーのロールを選択します。', strictSyncHelper: - '完全な全件クエリで見つからないユーザーは無効化され、セッションが終了します。ユーザー、ロール、権限は削除されません。', - safetyTitle: 'LDAP の全件クエリが正常に完了した場合のみ、欠落ユーザーを処理します。', - safetyDescription: - 'クエリの失敗、タイムアウト、または不完全なページング結果によっても、ユーザーのステータスは変更されません。同期スコープは、ユーザー Base DN、フィルター、および属性マッピングに従います。', + '完全な同期後、LDAP に存在しないユーザーを「LDAP に存在しない」としてマークし、ユーザー、ロール、権限を削除せずにセッションを終了します。', runNow: '今すぐ同期する', lastRunSuccess: '最後に成功した同期: {0}', lastRunFailed: '前回の同期失敗: {0}', @@ -5435,7 +5436,7 @@ const message = { saveBeforeRun: 'タスクを実行する前に同期設定を保存します。', runConfirmTitle: '厳密な同期を実行する', runConfirmDescription: - 'LDAP の全件クエリで見つからないユーザーを無効化し、アクティブなセッションを終了します。続行しますか?', + 'LDAP の全件クエリで見つからないユーザーの認証状態を「LDAP に存在しない」に設定し、アクティブなセッションを終了します。続行しますか?', runSuccess: 'LDAP の同期が完了しました。', weekdays: { 0: '日曜日', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index df54395805c1..b27bfd739e60 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -2239,6 +2239,7 @@ const message = { users: '사용자 관리', roles: '역할', auth: '로그인 인증', + auth_sources: '인증 설정', alert: '경고 알림', sync: '리소스 동기화', exchange: '리소스 동기화', @@ -5212,6 +5213,11 @@ const message = { spCredentials: 'SP 개인 키 및 인증서', spCredentialsDesc: '로그인 및 로그아웃 메시지 서명에 사용됩니다. 서명 및 검증 정책은 백엔드에서 고정됩니다.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'SP의 고유 식별자입니다. IdP에 설정된 엔터티 ID 또는 대상(Audience)과 일치해야 하며 SP 메타데이터 URL로도 사용됩니다.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'SP 개인 키', spPrivateKeyHelper: 'AuthnRequest 및 로그아웃 메시지 서명에 사용됩니다. 저장 시 암호화되며 표시되지 않습니다.', @@ -5257,13 +5263,11 @@ const message = { advancedDesc: 'TLS 및 LDAP 쿼리 페이징을 구성합니다.', strictSync: '엄격한 동기화', strictSyncTooltip: - '전체 가져오기가 완료된 후 이 LDAP 소스에서 누락된 사용자는 비활성화되지만 삭제되지는 않습니다.', + "완전한 전체 처리 후 이 LDAP 소스에서 누락된 사용자의 인증 상태가 'LDAP에 없음'으로 표시되지만 사용자는 삭제되지 않습니다.", strictSyncHelper: - '완전한 전체 가져오기에만 적용됩니다. 선택한 사용자를 가져와도 다른 사용자는 비활성화되지 않습니다.', + '완전히 성공한 전체 처리에만 적용됩니다. 선택한 사용자를 가져와도 다른 사용자의 인증 상태는 변경되지 않습니다.', skipTLSVerify: 'TLS 확인 건너뛰기', skipTLSVerifyTooltip: 'LDAPS 연결에 대한 인증서 확인을 비활성화합니다.', - skipTLSVerifyHelper: - '신뢰할 수 있는 자체 서명된 인증서에만 사용하세요. 이 설정은 엄격한 동기화와 무관합니다.', connectTimeout: '연결 시간 초과(초)', searchPageSize: 'LDAP 쿼리 페이지 크기', restore: '복원', @@ -5312,10 +5316,7 @@ const message = { defaultRoleHelper: '예약된 동기화로 생성된 사용자에게만 적용됩니다.', defaultRoleRequired: '새로운 LDAP 사용자의 역할을 선택합니다.', strictSyncHelper: - '완전한 전체 쿼리에서 누락된 사용자는 비활성화되고 해당 세션이 지워집니다. 사용자, 역할 및 권한은 삭제되지 않습니다.', - safetyTitle: '누락된 사용자는 완전한 LDAP 전체 쿼리 후에만 처리됩니다.', - safetyDescription: - '실패한 쿼리, 시간 초과 또는 불완전한 페이징 결과는 사용자 상태를 변경하지 않습니다. 동기화 범위는 사용자 Base DN, 필터 및 특성 매핑을 따릅니다.', + "전체 동기화가 완료되면 LDAP에서 누락된 사용자를 'LDAP에 없음'으로 표시하고 세션을 종료하며 사용자, 역할 또는 권한은 삭제하지 않습니다.", runNow: '지금 동기화', lastRunSuccess: '마지막 동기화 성공: {0}', lastRunFailed: '마지막 동기화 실패: {0}', @@ -5325,7 +5326,7 @@ const message = { saveBeforeRun: '작업을 실행하기 전에 동기화 설정을 저장하십시오.', runConfirmTitle: '엄격한 동기화 실행', runConfirmDescription: - '완전한 전체 쿼리에서 누락된 LDAP 사용자를 비활성화하고 활성 세션을 종료합니다. 계속하시겠습니까?', + "완전한 전체 쿼리에서 누락된 LDAP 사용자의 인증 상태를 'LDAP에 없음'으로 표시하고 활성 세션을 종료합니다. 계속하시겠습니까?", runSuccess: 'LDAP 동기화가 완료되었습니다.', weekdays: { 0: '일요일', diff --git a/frontend/src/lang/modules/lo.ts b/frontend/src/lang/modules/lo.ts index 70565e3cab5a..745f24b63198 100644 --- a/frontend/src/lang/modules/lo.ts +++ b/frontend/src/lang/modules/lo.ts @@ -2221,6 +2221,7 @@ const message = { users: 'ຈັດການຜູ້ໃຊ້', roles: 'ບົດບາດ', auth: 'ການຢືນຢັນຕົວຕົນ', + auth_sources: 'ການຕັ້ງຄ່າການຢືນຢັນຕົວຕົນ', alert: 'ການແຈ້ງເຕືອນ', sync: 'ຊິງຊັບພະຍາກອນ', exchange: 'ຊິງຊັບພະຍາກອນ', @@ -5182,6 +5183,11 @@ const message = { spCredentials: 'ກະແຈສ່ວນຕົວ ແລະໃບຢັ້ງຢືນ SP', spCredentialsDesc: 'ໃຊ້ເພື່ອເຊັນຂໍ້ຄວາມເຂົ້າ ແລະອອກລະບົບ. ນະໂຍບາຍລາຍເຊັນ ແລະການກວດສອບຖືກກຳນົດໂດຍ backend.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'ຕົວລະບຸສະເພາະຂອງ SP. ຕ້ອງກົງກັບ Entity ID ຫຼື Audience ທີ່ຕັ້ງຄ່າໃນ IdP ແລະໃຊ້ເປັນ URL Metadata ຂອງ SP ນຳ.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'ກະແຈສ່ວນຕົວ SP', spPrivateKeyHelper: 'ໃຊ້ເພື່ອເຊັນ AuthnRequest ແລະຂໍ້ຄວາມອອກລະບົບ. ກະແຈຈະຖືກເຂົ້າລະຫັດເມື່ອຈັດເກັບ ແລະບໍ່ຖືກສະແດງ.', @@ -5228,13 +5234,11 @@ const message = { advancedDesc: 'ຕັ້ງຄ່າ TLS ແລະ LDAP query paging.', strictSync: 'synchronization ຢ່າງເຂັ້ມງວດ', strictSyncTooltip: - 'ຫຼັງຈາກການນໍາເຂົ້າຄົບຖ້ວນສົມບູນ, ຜູ້ໃຊ້ທີ່ຂາດຫາຍໄປຈາກແຫຼ່ງ LDAP ນີ້ຖືກປິດໃຊ້ງານແຕ່ບໍ່ໄດ້ຖືກລຶບຖິ້ມ.', + 'ຫຼັງຈາກປະມວນຜົນຄົບຖ້ວນ, ສະຖານະການຢັ້ງຢືນຂອງຜູ້ໃຊ້ທີ່ບໍ່ພົບໃນແຫຼ່ງ LDAP ນີ້ຈະຖືກໝາຍເປັນ «ບໍ່ພົບໃນ LDAP», ແຕ່ຜູ້ໃຊ້ຈະບໍ່ຖືກລຶບ.', strictSyncHelper: - 'ນຳໃຊ້ກັບການນຳເຂົ້າເຕັມຮູບແບບເທົ່ານັ້ນ. ການນໍາເຂົ້າຜູ້ໃຊ້ທີ່ເລືອກບໍ່ເຄີຍປິດຜູ້ໃຊ້ອື່ນ.', + 'ນຳໃຊ້ສະເພາະກັບການປະມວນຜົນຄົບຖ້ວນທີ່ສຳເລັດ. ການນຳເຂົ້າຜູ້ໃຊ້ທີ່ເລືອກຈະບໍ່ປ່ຽນສະຖານະການຢັ້ງຢືນຂອງຜູ້ໃຊ້ອື່ນ.', skipTLSVerify: 'ຂ້າມການຢັ້ງຢືນ TLS', skipTLSVerifyTooltip: 'ປິດການໃຊ້ງານການຢັ້ງຢືນໃບຢັ້ງຢືນສໍາລັບການເຊື່ອມຕໍ່ LDAPS.', - skipTLSVerifyHelper: - 'ໃຊ້ພຽງແຕ່ມີໃບຢັ້ງຢືນການເຊັນດ້ວຍຕົນເອງທີ່ເຊື່ອຖືໄດ້. ການຕັ້ງຄ່ານີ້ແມ່ນເປັນເອກະລາດຂອງການ synchronization ທີ່ເຄັ່ງຄັດ.', connectTimeout: 'ໝົດເວລາການເຊື່ອມຕໍ່ (ວິນາທີ)', searchPageSize: 'LDAP ຂະໜາດໜ້າສອບຖາມ', restore: 'ຟື້ນຟູ', @@ -5284,11 +5288,7 @@ const message = { defaultRoleHelper: 'ນຳໃຊ້ກັບຜູ້ໃຊ້ທີ່ສ້າງຂຶ້ນໂດຍການຊິງໂຄຣໄນກຳນົດເວລາເທົ່ານັ້ນ.', defaultRoleRequired: 'ເລືອກບົດບາດສຳລັບຜູ້ໃຊ້ LDAP ໃໝ່.', strictSyncHelper: - 'ຜູ້ໃຊ້ທີ່ຂາດຫາຍໄປຈາກການສອບຖາມເຕັມທີ່ຖືກປິດໃຊ້ງານແລະເຊດຊັນຂອງພວກເຂົາຖືກລຶບລ້າງ; ຜູ້ໃຊ້, ພາລະບົດບາດ, ແລະການອະນຸຍາດບໍ່ໄດ້ຖືກລຶບ.', - safetyTitle: - 'ຜູ້​ໃຊ້​ທີ່​ຂາດ​ໄປ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ພຽງ​ແຕ່​ຫຼັງ​ຈາກ​ການ​ສອບ​ຖາມ​ເຕັມ LDAP ທີ່​ສົມ​ບູນ​', - safetyDescription: - 'ການສອບຖາມທີ່ລົ້ມເຫລວ, ໝົດເວລາ, ຫຼືຜົນຂອງ paged ບໍ່ຄົບຖ້ວນບໍ່ເຄີຍປ່ຽນສະຖານະຜູ້ໃຊ້. ຂອບເຂດການຊິ້ງຂໍ້ມູນປະຕິບັດຕາມຜູ້ໃຊ້ Base DN, ການກັ່ນຕອງ, ແລະການສ້າງແຜນທີ່ຄຸນລັກສະນະ.', + 'ຫຼັງຈາກການຊິງຄົບຖ້ວນ, ໝາຍຜູ້ໃຊ້ທີ່ບໍ່ພົບໃນ LDAP ເປັນ «ບໍ່ພົບໃນ LDAP» ແລະລ້າງເຊດຊັນ ໂດຍບໍ່ລຶບຜູ້ໃຊ້, ບົດບາດ ຫຼືສິດ.', runNow: 'ຊິ້ງຂໍ້ມູນດຽວນີ້', lastRunSuccess: 'ການຊິ້ງຂໍ້ມູນຫຼ້າສຸດສຳເລັດແລ້ວ: {0}', lastRunFailed: 'ການຊິ້ງຂໍ້ມູນຫຼ້າສຸດລົ້ມເຫລວ: {0}', @@ -5298,7 +5298,7 @@ const message = { saveBeforeRun: 'ບັນທຶກການຕັ້ງຄ່າ synchronization ກ່ອນທີ່ຈະດໍາເນີນການວຽກງານ.', runConfirmTitle: 'ດໍາເນີນການ synchronization ທີ່ເຄັ່ງຄັດ', runConfirmDescription: - 'ຜູ້ໃຊ້ LDAP ຫາຍໄປຈາກການສອບຖາມເຕັມທີ່ຈະຖືກປິດໃຊ້ງານ ແລະເຊດຊັນທີ່ເຄື່ອນໄຫວຂອງເຂົາເຈົ້າຖືກລຶບລ້າງ. ສືບຕໍ່?', + 'ສະຖານະການຢັ້ງຢືນຂອງຜູ້ໃຊ້ທີ່ບໍ່ພົບໃນການສອບຖາມ LDAP ຄົບຖ້ວນຈະຖືກໝາຍເປັນ «ບໍ່ພົບໃນ LDAP» ແລະເຊດຊັນທີ່ເຄື່ອນໄຫວຈະຖືກລ້າງ. ສືບຕໍ່?', runSuccess: 'ການຊິ້ງຂໍ້ມູນ LDAP ສຳເລັດແລ້ວ.', weekdays: { 0: 'ວັນອາທິດ', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 1932043afe14..3e4423696ef8 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -2321,6 +2321,7 @@ const message = { users: 'Pengurusan pengguna', roles: 'Peranan', auth: 'Pengesahan log masuk', + auth_sources: 'Tetapan Pengesahan', alert: 'Pemberitahuan amaran', sync: 'Penyegerakan Sumber', exchange: 'Penyegerakan Sumber', @@ -5405,6 +5406,11 @@ const message = { spCredentials: 'Kunci peribadi dan sijil SP', spCredentialsDesc: 'Digunakan untuk menandatangani mesej log masuk dan log keluar. Dasar tandatangan dan pengesahan ditetapkan oleh bahagian belakang.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'Pengecam unik SP. Ia mesti sepadan dengan ID Entiti atau audiens yang dikonfigurasikan dalam IdP dan juga merupakan URL Metadata SP.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'Kunci peribadi SP', spPrivateKeyHelper: 'Digunakan untuk menandatangani AuthnRequest dan mesej log keluar. Ia disulitkan semasa disimpan dan tidak pernah dipaparkan.', @@ -5453,13 +5459,11 @@ const message = { advancedDesc: 'Konfigurasikan halaman pertanyaan TLS dan LDAP.', strictSync: 'Penyegerakan yang ketat', strictSyncTooltip: - 'Selepas import penuh lengkap, pengguna yang tiada daripada sumber LDAP ini dilumpuhkan tetapi tidak dipadamkan.', + 'Selepas pemprosesan penuh selesai, status pengesahan pengguna yang tiada dalam sumber LDAP ini ditandakan sebagai Tidak ditemui dalam LDAP, tetapi pengguna tidak dipadamkan.', strictSyncHelper: - 'Hanya digunakan untuk import penuh yang lengkap. Mengimport pengguna terpilih tidak sekali-kali melumpuhkan pengguna lain.', + 'Hanya digunakan untuk pemprosesan penuh yang berjaya. Mengimport pengguna terpilih tidak mengubah status pengesahan pengguna lain.', skipTLSVerify: 'Langkau pengesahan TLS', skipTLSVerifyTooltip: 'Lumpuhkan pengesahan sijil untuk sambungan LDAPS.', - skipTLSVerifyHelper: - 'Gunakan hanya dengan sijil yang ditandatangani sendiri yang dipercayai. Tetapan ini bebas daripada penyegerakan yang ketat.', connectTimeout: 'Tamat masa sambungan (saat)', searchPageSize: 'LDAP saiz halaman pertanyaan', restore: 'Pulihkan', @@ -5510,10 +5514,7 @@ const message = { defaultRoleHelper: 'Hanya terpakai kepada pengguna yang dibuat melalui penyegerakan berjadual.', defaultRoleRequired: 'Pilih peranan untuk pengguna LDAP baharu.', strictSyncHelper: - 'Pengguna yang tiada daripada pertanyaan penuh lengkap dilumpuhkan dan sesi mereka dikosongkan; pengguna, peranan dan kebenaran tidak dipadamkan.', - safetyTitle: 'Pengguna yang hilang diproses hanya selepas pertanyaan penuh LDAP lengkap', - safetyDescription: - 'Pertanyaan yang gagal, tamat masa atau hasil halaman yang tidak lengkap tidak pernah mengubah status pengguna. Skop penyegerakan mengikut Base DN Pengguna, penapis dan pemetaan atribut.', + 'Selepas penyegerakan lengkap, pengguna yang tiada dalam LDAP ditandai sebagai Tidak ditemui dalam LDAP dan sesinya dikosongkan tanpa memadam pengguna, peranan atau kebenaran.', runNow: 'Segerakkan sekarang', lastRunSuccess: 'Penyegerakan terakhir berjaya: {0}', lastRunFailed: 'Penyegerakan terakhir gagal: {0}', @@ -5523,7 +5524,7 @@ const message = { saveBeforeRun: 'Simpan tetapan penyegerakan sebelum menjalankan tugas.', runConfirmTitle: 'Jalankan penyegerakan yang ketat', runConfirmDescription: - 'Pengguna LDAP yang hilang daripada pertanyaan penuh yang lengkap akan dilumpuhkan dan sesi aktif mereka dikosongkan. teruskan?', + 'Status pengesahan pengguna yang tiada daripada pertanyaan LDAP penuh akan ditandakan sebagai Tidak ditemui dalam LDAP dan sesi aktif mereka dikosongkan. Teruskan?', runSuccess: 'Penyegerakan LDAP selesai.', weekdays: { 0: 'Ahad', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index d262ae99743c..7408f2b4cc42 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -2321,6 +2321,7 @@ const message = { users: 'Gerenciamento de usuários', roles: 'Função', auth: 'Autenticação de login', + auth_sources: 'Configurações de autenticação', alert: 'Notificações de alerta', sync: 'Sincronização de Recursos', exchange: 'Sincronização de Recursos', @@ -5428,6 +5429,11 @@ const message = { spCredentials: 'Chave privada e certificado do SP', spCredentialsDesc: 'Usados para assinar mensagens de login e logout. A política de assinatura e validação é definida pelo backend.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'Identificador único do SP. Deve corresponder ao ID da entidade ou ao público-alvo configurado no IdP; também é a URL de metadados do SP.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'Chave privada do SP', spPrivateKeyHelper: 'Usada para assinar AuthnRequest e mensagens de logout. É criptografada em repouso e nunca exibida.', @@ -5477,13 +5483,11 @@ const message = { advancedDesc: 'Configure a paginação de consulta TLS e LDAP.', strictSync: 'Sincronização estrita', strictSyncTooltip: - 'Após uma importação completa, os usuários ausentes nesta origem LDAP serão desativados, mas não excluídos.', + 'Após um processamento completo, o status de autenticação dos usuários ausentes nesta origem LDAP é marcado como Não encontrado no LDAP, mas os usuários não são excluídos.', strictSyncHelper: - 'Aplica-se apenas a uma importação completa. A importação de usuários selecionados nunca desabilita outros usuários.', + 'Aplica-se apenas a um processamento completo bem-sucedido. A importação de usuários selecionados não altera o status de autenticação de outros usuários.', skipTLSVerify: 'Ignorar verificação TLS', skipTLSVerifyTooltip: 'Desative a verificação de certificado para conexões LDAPS.', - skipTLSVerifyHelper: - 'Use somente com um certificado autoassinado confiável. Esta configuração é independente da sincronização estrita.', connectTimeout: 'Tempo limite de conexão (segundos)', searchPageSize: 'Tamanho da página de consulta LDAP', restore: 'Restaurar', @@ -5535,10 +5539,7 @@ const message = { defaultRoleHelper: 'Aplica-se apenas a usuários criados por sincronização agendada.', defaultRoleRequired: 'Selecione uma função para novos usuários LDAP.', strictSyncHelper: - 'Os usuários ausentes em uma consulta completa são desabilitados e suas sessões são apagadas; usuários, funções e permissões não são excluídos.', - safetyTitle: 'Usuários ausentes são processados somente após uma consulta completa LDAP', - safetyDescription: - 'Uma consulta com falha, tempo limite ou resultado paginado incompleto nunca altera o status do usuário. O escopo de sincronização segue o usuário Base DN, filtro e mapeamento de atributos.', + 'Após uma sincronização completa, usuários ausentes no LDAP são marcados como Não encontrado no LDAP e suas sessões são encerradas sem excluir usuários, funções ou permissões.', runNow: 'Sincronize agora', lastRunSuccess: 'Última sincronização bem-sucedida: {0}', lastRunFailed: 'Falha na última sincronização: {0}', @@ -5548,7 +5549,7 @@ const message = { saveBeforeRun: 'Salve as configurações de sincronização antes de executar a tarefa.', runConfirmTitle: 'Execute a sincronização estrita', runConfirmDescription: - 'Os usuários LDAP ausentes em uma consulta completa serão desabilitados e suas sessões ativas serão apagadas. Continuar?', + 'O status de autenticação dos usuários ausentes em uma consulta LDAP completa será marcado como Não encontrado no LDAP e suas sessões ativas serão apagadas. Continuar?', runSuccess: 'Sincronização LDAP concluída.', weekdays: { 0: 'Domingo', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index abf34f774b89..ffc6bc9abb00 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -2304,6 +2304,7 @@ const message = { users: 'Управление пользователями', roles: 'Роль', auth: 'Аутентификация входа', + auth_sources: 'Настройки аутентификации', alert: 'Уведомления о тревогах', sync: 'Синхронизация ресурсов', exchange: 'Синхронизация ресурсов', @@ -5400,6 +5401,11 @@ const message = { spCredentials: 'Закрытый ключ и сертификат SP', spCredentialsDesc: 'Используются для подписи сообщений входа и выхода. Политика подписи и проверки задана сервером.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + 'Уникальный идентификатор SP. Должен совпадать с Entity ID или Audience в IdP и одновременно служит URL метаданных SP.', + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'Закрытый ключ SP', spPrivateKeyHelper: 'Используется для подписи AuthnRequest и сообщений выхода. Ключ хранится в зашифрованном виде и никогда не отображается.', @@ -5448,13 +5454,11 @@ const message = { advancedDesc: 'Настройте разбиение запросов TLS и LDAP.', strictSync: 'Строгая синхронизация', strictSyncTooltip: - 'После полного импорта пользователи, отсутствующие в этом источнике LDAP, отключаются, но не удаляются.', + 'После полной обработки статус аутентификации пользователей, отсутствующих в этом источнике LDAP, помечается как «Не найден в LDAP», но пользователи не удаляются.', strictSyncHelper: - 'Применяется только к полному импорту. Импорт выбранных пользователей никогда не отключает других пользователей.', + 'Применяется только к успешно завершенной полной обработке. Импорт выбранных пользователей не изменяет статус аутентификации других пользователей.', skipTLSVerify: 'Пропустить проверку TLS', skipTLSVerifyTooltip: 'Отключите проверку сертификата для соединений LDAPS.', - skipTLSVerifyHelper: - 'Используйте только с доверенным самозаверяющим сертификатом. Этот параметр не зависит от строгой синхронизации.', connectTimeout: 'Таймаут соединения (секунды)', searchPageSize: 'Размер страницы запроса LDAP', restore: 'Восстановить', @@ -5507,10 +5511,7 @@ const message = { 'Применяется только к пользователям, созданным с помощью запланированной синхронизации.', defaultRoleRequired: 'Выберите роль для новых пользователей LDAP.', strictSyncHelper: - 'Пользователи, отсутствующие в полном запросе, отключаются, а их сеансы очищаются; пользователи, роли и разрешения не удаляются.', - safetyTitle: 'Отсутствующие пользователи обрабатываются только после полного запроса LDAP.', - safetyDescription: - 'Неудачный запрос, тайм-аут или неполный постраничный результат никогда не меняют статус пользователя. Область синхронизации соответствует пользователю Base DN, фильтру и сопоставлению атрибутов.', + 'После полной синхронизации отсутствующие в LDAP пользователи помечаются как «Не найден в LDAP», а их сеансы завершаются без удаления пользователей, ролей или разрешений.', runNow: 'Синхронизировать сейчас', lastRunSuccess: 'Последняя синхронизация завершилась успешно: {0}.', lastRunFailed: 'Последняя синхронизация не удалась: {0}.', @@ -5520,7 +5521,7 @@ const message = { saveBeforeRun: 'Сохраните настройки синхронизации перед запуском задачи.', runConfirmTitle: 'Запустить строгую синхронизацию', runConfirmDescription: - 'Пользователи LDAP, отсутствующие в полном запросе, будут отключены, а их активные сеансы удалены. Продолжать?', + 'Статус аутентификации пользователей, отсутствующих в полном запросе LDAP, будет помечен как «Не найден в LDAP», а их активные сеансы будут очищены. Продолжать?', runSuccess: 'Синхронизация LDAP завершена.', weekdays: { 0: 'воскресенье', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index d202fd30b9d0..a9c0c3104cf8 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -2313,6 +2313,7 @@ const message = { users: 'Kullanıcı yönetimi', roles: 'Rol', auth: 'Giriş kimlik doğrulaması', + auth_sources: 'Kimlik Doğrulama Ayarları', alert: 'Uyarı bildirimleri', sync: 'Kaynak Senkronizasyonu', exchange: 'Kaynak Senkronizasyonu', @@ -5411,6 +5412,11 @@ const message = { spCredentials: 'SP özel anahtarı ve sertifikası', spCredentialsDesc: 'Oturum açma ve kapatma mesajlarını imzalamak için kullanılır. İmza ve doğrulama ilkesi arka uç tarafından sabitlenir.', + spEntityID: 'SP Entity ID', + spEntityIDHelper: + "SP'nin benzersiz tanımlayıcısıdır. IdP'de yapılandırılan Entity ID veya Audience ile eşleşmeli ve aynı zamanda SP Metadata URL'si olarak kullanılmalıdır.", + acsURL: 'ACS URL', + sloURL: 'SLO URL', spPrivateKey: 'SP özel anahtarı', spPrivateKeyHelper: 'AuthnRequest ve oturum kapatma mesajlarını imzalamak için kullanılır. Saklanırken şifrelenir ve hiçbir zaman gösterilmez.', @@ -5461,13 +5467,11 @@ const message = { advancedDesc: 'TLS ve LDAP sorgu sayfalamayı yapılandırın.', strictSync: 'Sıkı senkronizasyon', strictSyncTooltip: - 'Tam bir içe aktarma işleminin ardından, bu LDAP kaynağında eksik olan kullanıcılar devre dışı bırakılır ancak silinmez.', + 'Tam işleme tamamlandıktan sonra, bu LDAP kaynağında bulunmayan kullanıcıların kimlik doğrulama durumu “LDAP’te bulunamadı” olarak işaretlenir; kullanıcılar silinmez.', strictSyncHelper: - 'Yalnızca tam bir tam içe aktarma için geçerlidir. Seçilen kullanıcıları içe aktarmak hiçbir zaman diğer kullanıcıları devre dışı bırakmaz.', + 'Yalnızca başarıyla tamamlanan tam işleme için geçerlidir. Seçilen kullanıcıları içe aktarmak diğer kullanıcıların kimlik doğrulama durumunu değiştirmez.', skipTLSVerify: 'TLS doğrulamasını atla', skipTLSVerifyTooltip: 'LDAPS bağlantıları için sertifika doğrulamayı devre dışı bırakın.', - skipTLSVerifyHelper: - 'Yalnızca güvenilir, kendinden imzalı bir sertifikayla kullanın. Bu ayar katı senkronizasyondan bağımsızdır.', connectTimeout: 'Bağlantı zaman aşımı (saniye)', searchPageSize: 'LDAP sorgu sayfası boyutu', restore: 'Geri yükle', @@ -5520,10 +5524,7 @@ const message = { 'Yalnızca zamanlanmış senkronizasyonla oluşturulan kullanıcılar için geçerlidir.', defaultRoleRequired: 'Yeni LDAP kullanıcıları için bir rol seçin.', strictSyncHelper: - 'Tam sorguda eksik olan kullanıcılar devre dışı bırakılır ve oturumları temizlenir; kullanıcılar, roller ve izinler silinmez.', - safetyTitle: 'Eksik kullanıcılar yalnızca LDAP tam sorgusunun tamamlanmasından sonra işlenir', - safetyDescription: - 'Başarısız bir sorgu, zaman aşımı veya tamamlanmamış sayfalanmış sonuç, kullanıcı durumunu hiçbir zaman değiştirmez. Senkronizasyon kapsamı Kullanıcı Base DN, filtre ve öznitelik eşlemesini takip eder.', + "Tam senkronizasyondan sonra LDAP'te bulunmayan kullanıcılar “LDAP'te bulunamadı” olarak işaretlenir ve kullanıcılar, roller veya izinler silinmeden oturumları temizlenir.", runNow: 'Şimdi senkronize et', lastRunSuccess: 'Son senkronizasyon başarılı oldu: {0}', lastRunFailed: 'Son senkronizasyon başarısız oldu: {0}', @@ -5533,7 +5534,7 @@ const message = { saveBeforeRun: 'Görevi çalıştırmadan önce senkronizasyon ayarlarını kaydedin.', runConfirmTitle: 'Kesin senkronizasyonu çalıştır', runConfirmDescription: - 'Tam sorguda bulunmayan LDAP kullanıcıları devre dışı bırakılacak ve etkin oturumları kapatılacaktır. Devam edilsin mi?', + 'Tam LDAP sorgusunda bulunmayan kullanıcıların kimlik doğrulama durumu “LDAP’te bulunamadı” olarak işaretlenecek ve etkin oturumları kapatılacaktır. Devam edilsin mi?', runSuccess: 'LDAP senkronizasyonu tamamlandı.', weekdays: { 0: 'Pazar', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 28cf41a5b30f..301e21158905 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -2153,6 +2153,7 @@ const message = { users: '使用者管理', roles: '角色', auth: '登入認證', + auth_sources: '認證設定', alert: '告警通知', sync: '資源同步', exchange: '資源同步', @@ -4958,6 +4959,11 @@ const message = { spCertificateHelper: '透過 SP 元資料提供給身分提供者(IdP),用於驗證登入和登出請求。', spCredentials: 'SP 私鑰與憑證', spCredentialsDesc: '用於簽署登入和登出訊息;簽署與安全驗證策略由後端固定處理。', + spEntityID: 'SP 實體 ID', + spEntityIDHelper: + 'SP 唯一識別碼,需與身分提供者中設定的實體 ID 或受眾識別碼一致,同時也是 SP 中繼資料位址。', + acsURL: 'ACS 位址', + sloURL: 'SLO 位址', spPrivateKey: 'SP 私鑰', spPrivateKeyHelper: '用於簽署 SAML 登入請求和登出訊息,加密儲存且不會回顯。', syncLogout: '同步登出', @@ -4998,11 +5004,11 @@ const message = { advanced: '進階設定', advancedDesc: '設定 TLS 和 LDAP 查詢分頁。', strictSync: '嚴格同步', - strictSyncTooltip: '完整全量處理後,LDAP 中不存在的同源使用者將被停用但不會刪除。', - strictSyncHelper: '僅作用於完整成功的全量處理;匯入選中使用者時不會停用其他使用者。', + strictSyncTooltip: + '完整全量處理後,LDAP 中不存在的同源使用者,其驗證狀態將標記為「LDAP 中不存在」,但不會刪除。', + strictSyncHelper: '僅作用於完整成功的全量處理;匯入選中使用者時不會變更其他使用者的驗證狀態。', skipTLSVerify: '略過 TLS 憑證驗證', skipTLSVerifyTooltip: '連線 LDAPS 時不驗證伺服器端憑證。', - skipTLSVerifyHelper: '僅用於可信任的自簽憑證;此設定與嚴格同步互相獨立。', connectTimeout: '連線逾時(秒)', searchPageSize: 'LDAP 查詢分頁大小', restore: '還原', @@ -5050,10 +5056,7 @@ const message = { defaultRoleHelper: '僅用於定時同步中新建立的使用者,後續可在使用者管理中調整。', defaultRoleRequired: '請選擇新 LDAP 使用者的角色。', strictSyncHelper: - '全量查詢中缺失的同源 LDAP 使用者將被停用並清理工作階段,但不會刪除使用者、角色和權限。', - safetyTitle: '僅在 LDAP 全量查詢完整成功後處理缺失使用者', - safetyDescription: - '查詢失敗、逾時或分頁結果不完整時,本次工作不會變更使用者狀態。同步範圍沿用使用者搜尋中的 Base DN、篩選器和屬性對應。', + '全量同步成功後,將 LDAP 中缺失的使用者標記為「LDAP 中不存在」並清理工作階段,不會刪除使用者、角色或權限。', runNow: '立即同步', lastRunSuccess: '最近同步成功:{0}', lastRunFailed: '最近同步失敗:{0}', @@ -5062,7 +5065,8 @@ const message = { cronRequired: '請輸入 Cron 運算式。', saveBeforeRun: '請先儲存同步設定,再執行同步。', runConfirmTitle: '執行嚴格同步', - runConfirmDescription: '完整全量查詢中缺失的 LDAP 使用者將被停用並清理活動工作階段,是否繼續?', + runConfirmDescription: + '完整全量查詢中缺失的 LDAP 使用者,其驗證狀態將標記為「LDAP 中不存在」並清理活動工作階段,是否繼續?', runSuccess: 'LDAP 同步完成。', weekdays: { 0: '週日', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 02c3af1095ef..2bb0d3279ac2 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -2184,6 +2184,7 @@ const message = { users: '用户管理', roles: '角色', auth: '登陆认证', + auth_sources: '认证设置', alert: '告警通知', sync: '资源同步', exchange: '资源同步', @@ -5683,6 +5684,11 @@ const message = { spCertificateHelper: '通过 SP 元数据提供给身份提供商(IdP),用于验证登录和注销请求。', spCredentials: 'SP 私钥与证书', spCredentialsDesc: '用于签名登录和注销消息;具体签名与安全校验策略由后端固定处理。', + spEntityID: 'SP 实体 ID', + spEntityIDHelper: + 'SP 唯一标识,需与身份提供商中配置的实体 ID 或受众标识一致,同时也是 SP 元数据地址。', + acsURL: 'ACS 地址', + sloURL: 'SLO 地址', spPrivateKey: 'SP 私钥', spPrivateKeyHelper: '用于签名 SAML 登录请求和注销消息,加密保存且不会回显。', syncLogout: '同步注销', @@ -5723,11 +5729,11 @@ const message = { advanced: '高级设置', advancedDesc: '配置 TLS 和 LDAP 查询分页。', strictSync: '严格同步', - strictSyncTooltip: '完整全量处理后,LDAP 中不存在的同源用户将被停用但不会删除。', - strictSyncHelper: '仅作用于完整成功的全量处理;导入选中用户时不会停用其他用户。', + strictSyncTooltip: + '完整全量处理后,LDAP 中不存在的同源用户,其认证状态将标记为“LDAP 中不存在”,但不会删除。', + strictSyncHelper: '仅作用于完整成功的全量处理;导入选中用户时不会改变其他用户的认证状态。', skipTLSVerify: '跳过 TLS 证书校验', skipTLSVerifyTooltip: '连接 LDAPS 时不校验服务端证书。', - skipTLSVerifyHelper: '仅用于可信的自签名证书;该设置与严格同步相互独立。', connectTimeout: '连接超时(秒)', searchPageSize: 'LDAP 查询分页大小', restore: '还原', @@ -5775,10 +5781,7 @@ const message = { defaultRoleHelper: '仅用于定时同步中新创建的用户,后续可在用户管理中调整。', defaultRoleRequired: '请选择新 LDAP 用户的角色。', strictSyncHelper: - '全量查询中缺失的同源 LDAP 用户将被停用并清理会话,但不会删除用户、角色和权限。', - safetyTitle: '仅在 LDAP 全量查询完整成功后处理缺失用户', - safetyDescription: - '查询失败、超时或分页结果不完整时,本次任务不会改变用户状态。同步范围沿用用户搜索中的 Base DN、过滤器和属性映射。', + '全量同步成功后,将 LDAP 中缺失的用户标记为“LDAP 中不存在”并清理会话,不会删除用户、角色或权限。', runNow: '立即同步', lastRunSuccess: '最近同步成功:{0}', lastRunFailed: '最近同步失败:{0}', @@ -5787,7 +5790,8 @@ const message = { cronRequired: '请输入 Cron 表达式。', saveBeforeRun: '请先保存同步设置,再执行同步。', runConfirmTitle: '执行严格同步', - runConfirmDescription: '完整全量查询中缺失的 LDAP 用户将被停用并清理活动会话,是否继续?', + runConfirmDescription: + '完整全量查询中缺失的 LDAP 用户,其认证状态将标记为“LDAP 中不存在”并清理活动会话,是否继续?', runSuccess: 'LDAP 同步完成。', weekdays: { 0: '周日', diff --git a/frontend/src/views/log/operation/index.vue b/frontend/src/views/log/operation/index.vue index 6389bd8683f7..239b08cc81c2 100644 --- a/frontend/src/views/log/operation/index.vue +++ b/frontend/src/views/log/operation/index.vue @@ -40,6 +40,7 @@ +