]> source.dussan.org Git - redmine.git/commitdiff
Fixed that LDAP does not check the user and password when are defined in the method...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 22 Jan 2016 17:53:33 +0000 (17:53 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Fri, 22 Jan 2016 17:53:33 +0000 (17:53 +0000)
Patch by Helder Manuel Torres Vieira.

git-svn-id: http://svn.redmine.org/redmine/trunk@15086 e93f8b46-1217-0410-a6f0-8f06a7374b81

51 files changed:
app/models/auth_source_ldap.rb
config/locales/ar.yml
config/locales/az.yml
config/locales/bg.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/es-PA.yml
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hr.yml
config/locales/hu.yml
config/locales/id.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mn.yml
config/locales/nl.yml
config/locales/no.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sq.yml
config/locales/sr-YU.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/th.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-TW.yml
config/locales/zh.yml
test/unit/auth_source_ldap_test.rb

index b18b657b03f4067e66d8dcd4e522c3c77a0ebb08..6dda73d9f1746184ca94468fcc4bd5722eb6be8a 100644 (file)
@@ -56,11 +56,16 @@ class AuthSourceLdap < AuthSource
     raise AuthSourceException.new(e.message)
   end
 
-  # test the connection to the LDAP
+  # Test the connection to the LDAP
   def test_connection
     with_timeout do
       ldap_con = initialize_ldap_con(self.account, self.account_password)
       ldap_con.open { }
+
+      if self.account.present? && self.account_password.present?
+        ldap_auth = authenticate_dn(self.account, self.account_password)
+        raise AuthSourceException.new(l(:error_ldap_bind_credentials)) if !ldap_auth
+      end
     end
   rescue *NETWORK_EXCEPTIONS => e
     raise AuthSourceException.new(e.message)
index 8cd0a88de26459a69e3805f41f7bfb11d7ec7a22..2df14bc1b16b28325a56274f30f3f4a8ba86e420 100644 (file)
@@ -1182,3 +1182,4 @@ ar:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 9c41d4a791068a4d8441cb51cd681505ee1102dd..071c1ea1d6a38498c5bc5fd93ee84b4c0e229a1c 100644 (file)
@@ -1277,3 +1277,4 @@ az:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index a61315c79ef2dd4d47618456a0a142288d2b046a..8f3f16ced3f72b3c146597ea7b86a16c814ecaec 100644 (file)
@@ -1173,3 +1173,4 @@ bg:
   description_date_from: Въведете начална дата
   description_date_to: Въведете крайна дата
   text_repository_identifier_info: 'Позволени са малки букви (a-z), цифри, тирета и _.<br />Промяна след създаването му не е възможна.'
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index ca4bd07216c841df5817f883a6ed6f72f8bcee68..6939e24c60e03ec1acda92ad8d0073c80c3a76e0 100644 (file)
@@ -1195,3 +1195,4 @@ bs:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index d6674a5e53a22fb8949318d234bf52de4f2b397f..2261553e6ded3c8d585d8226c68690b10ee2ac85 100644 (file)
@@ -195,6 +195,7 @@ ca:
   error_unable_delete_issue_status: "No s'ha pogut suprimir l'estat de l'assumpte"
   error_unable_to_connect: "No s'ha pogut connectar (%{value})"
   warning_attachments_not_saved: "No s'han pogut desar %{count} fitxers."
+  error_ldap_bind_credentials: "Compte/Contrasenya LDAP incorrecte"
 
   mail_subject_lost_password: "Contrasenya de %{value}"
   mail_body_lost_password: "Per a canviar la contrasenya, feu clic en l'enllaç següent:"
index a888e89da20996de6289ef222cca7ed4ecbf198c..80e2a2e1a94c3817164f5c5f3cbcbd5f65161586 100644 (file)
@@ -1183,3 +1183,4 @@ cs:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index e4543d0c89fcede72df1f21ad2666594822441ec..c41e3f5ee718369bf22015bc66e83f166c99cf46 100644 (file)
@@ -1199,3 +1199,4 @@ da:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 7fc27bd9944b64a042d6d5be2609a8fadc665fc5..fbdafb02ccb65ab5c57cc3cf6165c1b0dbce4473 100644 (file)
@@ -1191,3 +1191,4 @@ de:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Standardwerte für neue Benutzer
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index d2022735ff2c8f86d2dc6591f0600ef3a3080e10..030963763733c31b8dd155903442b2ccbdadb8f6 100644 (file)
@@ -1182,3 +1182,4 @@ el:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 2d1e86a62bbc85420fbb0649cf7953f144610d24..3a9f5b2ba34da97401eb198728ecd0c756417583 100644 (file)
@@ -1184,3 +1184,4 @@ en-GB:
   setting_attachment_extensions_allowed: Allowed extensions
   setting_attachment_extensions_denied: Disallowed extensions
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 7d98034f6cd32458ec4aa3825588f74390d004e8..1f7f6c65f5c4b26a78d88cbcd2fa7d4f8138f77b 100644 (file)
@@ -212,6 +212,7 @@ en:
   error_invalid_csv_file_or_settings: "The file is not a CSV file or does not match the settings below"
   error_can_not_read_import_file: "An error occurred while reading the file to import"
   error_attachment_extension_not_allowed: "Attachment extension %{extension} is not allowed"
+  error_ldap_bind_credentials: "Invalid LDAP Account/Password"
 
   mail_subject_lost_password: "Your %{value} password"
   mail_body_lost_password: 'To change your password, click on the following link:'
index 2f5b33451800ed35f0c66f8aaad9270416720e51..72dfcb4081b7d3525487e0fbc9d9182a89a37241 100644 (file)
@@ -255,6 +255,7 @@ es-PA:
   error_scm_annotate_big_text_file: "La entrada no puede anotarse, al superar el tamaño máximo para archivos de texto."
   error_scm_command_failed: "Se produjo un error al acceder al repositorio: %{value}"
   error_scm_not_found: "La entrada y/o la revisión no existe en el repositorio."
+  error_ldap_bind_credentials: "Cuenta/Contraseña LDAP incorrecta"
   field_account: Cuenta
   field_activity: Actividad
   field_admin: Administrador
@@ -932,7 +933,7 @@ es-PA:
   label_subtask_plural: Subtareas
   label_project_copy_notifications: Enviar notificaciones por correo electrónico durante la copia del proyecto
   error_can_not_delete_custom_field: Fue imposible eliminar el campo personalizado
-  error_unable_to_connect: Fue imposible conectar con (%{value})
+  error_unable_to_connect: Fue imposible conectarse (%{value})
   error_can_not_remove_role: Este rol está en uso y no puede ser eliminado.
   error_can_not_delete_tracker: Este tipo contiene incidencias y no puede ser eliminado.
   field_principal: Principal
index b62e066b30d71065cb4abd84ad32909b210a9818..cf497ec2151767a08a7a3770e439534933193d94 100644 (file)
@@ -253,6 +253,7 @@ es:
   error_scm_annotate_big_text_file: "La entrada no puede anotarse, al superar el tamaño máximo para ficheros de texto."
   error_scm_command_failed: "Se produjo un error al acceder al repositorio: %{value}"
   error_scm_not_found: "La entrada y/o la revisión no existe en el repositorio."
+  error_ldap_bind_credentials: Cuenta/Contraseña LDAP incorrecta
   field_account: Cuenta
   field_activity: Actividad
   field_admin: Administrador
@@ -930,7 +931,7 @@ es:
   label_subtask_plural: Subtareas
   label_project_copy_notifications: Enviar notificaciones por correo electrónico durante la copia del proyecto
   error_can_not_delete_custom_field: Fue imposible eliminar el campo personalizado
-  error_unable_to_connect: Fue imposible conectar con (%{value})
+  error_unable_to_connect: Fue imposible conectarse (%{value})
   error_can_not_remove_role: Este rol está en uso y no puede ser eliminado.
   error_can_not_delete_tracker: Este tipo contiene peticiones y no puede ser eliminado.
   field_principal: Principal
index 36201f40ac800ceefc7b8b4f25c2a0a3e9530785..3556602e0b4cc3c30e81d81140d2ccd4e4643bbf 100644 (file)
@@ -1186,3 +1186,4 @@ et:
   label_any_open_issues: "Kõik avatud teemad"
   label_no_open_issues: "Mitte ühtki avatud teemat"
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 20e7222cdf7710526fe94533ccbbf956b917ac4d..fd26642c32b41d64f0ef9968e595eecc67f61502 100644 (file)
@@ -1183,3 +1183,4 @@ eu:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 3ffc4748651204b5059f7aacbe37e27d52dbc902..0e91931c365dba59e375745e4949fe6565418d63 100644 (file)
@@ -1183,3 +1183,4 @@ fa:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 5021546cf97c5a352c1a804178e86a63fdf935ff..995ee39cd0c8dc7fb3263b9875717a6d5ad3f462 100644 (file)
@@ -1203,3 +1203,4 @@ fi:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 43873caf3e56aec5751f239480451e41af09c459..de330b53a214c651cfb156ff978e5aeadca3189e 100644 (file)
@@ -232,6 +232,7 @@ fr:
   error_invalid_csv_file_or_settings: "Le fichier n'est pas un fichier CSV ou n'est pas conforme aux paramètres sélectionnés"
   error_can_not_read_import_file: "Une erreur est survenue lors de la lecture du fichier à importer"
   error_attachment_extension_not_allowed: "L'extension %{extension} n'est pas autorisée"
+  error_ldap_bind_credentials: "Identifiant ou mot de passe LDAP incorrect"
 
   mail_subject_lost_password: "Votre mot de passe %{value}"
   mail_body_lost_password: 'Pour changer votre mot de passe, cliquez sur le lien suivant :'
index 381c2c9e7442a2dfce9a582fc97ce9e0e1a889f4..d49b3e3d2b73b715a0e2066c81cccc2c50d26c6c 100644 (file)
@@ -1190,3 +1190,4 @@ gl:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index cf5a1dd0ef2c0356f91f34f1a661061428afe459..c466ffb89488e02fe21403a2ed0139c9eedd39b5 100644 (file)
@@ -1187,3 +1187,4 @@ he:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 079ddfd8d83dcda6b99533f78d407fea59f82b72..bdfe5f8566a6cacafc7a27a0868ac9c8511c092e 100644 (file)
@@ -1181,3 +1181,4 @@ hr:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 026d89fba745660172f28d7c783b02f93620f500..e50a1ba8b81c410682652274b62df1cbeea55eae 100644 (file)
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 01a9304dcb504a24de69a23deb9ee5a72c3f7eb4..c9ac280cd15a59d67367a72fdf8e2b1e49b67259 100644 (file)
@@ -1186,3 +1186,4 @@ id:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 0f9da368a82fbef96099460fea939348183a859a..fcd86bb56b0415757d0d449fa944e5a07f73f85b 100644 (file)
@@ -1177,3 +1177,4 @@ it:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 7fe0d40ec3781e2118908acf763b6e9aea2a4daa..90d0c5c793476359de6c90fb5a84b81823bd11c2 100644 (file)
@@ -1195,3 +1195,4 @@ ja:
   label_any_open_issues: 未完了のチケット
   label_no_open_issues: なし または完了したチケット
   label_default_values_for_new_users: 新しいユーザーのデフォルト設定
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 0097370a8e8db873dc152537643b64fc8bd3cbfd..48b87ccad796fe9ea5076789ade51127f8102333 100644 (file)
@@ -1226,3 +1226,4 @@ ko:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 6498353772879dd7d8efbb5454af95ffaf17af13..f793a99948ad3b2e79b87eeb781228b83d2be7f7 100644 (file)
@@ -1241,3 +1241,4 @@ lt:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index bcee88d6c06cedc6251be8d5cdc8166301face45..6f65b8e2fae5befab8eae201b51aa715ba9bc583 100644 (file)
@@ -1176,3 +1176,4 @@ lv:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 6c7a2af08125812b795f6635c14ca260f570b8c4..1b297c9a367b3d68c2d9571c54251229d1667e65 100644 (file)
@@ -1182,3 +1182,4 @@ mk:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index c5a74e06f42b2709faa5610d6dd0746eb1518e38..79c1071a3e6969782a9d424df63ffc241398ef6e 100644 (file)
@@ -1183,3 +1183,4 @@ mn:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 9a2a17542c42f631ff22a1759487e66907196f0a..70be2132e3386fa9c57994c7b13489eee3de95b3 100644 (file)
@@ -1161,3 +1161,4 @@ nl:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 35f2b8e91f07692fd9721b7ee34436e6c3500196..41680949e27de7c02237ef98e78f4309a93353ad 100644 (file)
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 50cd2f39c1fb8c30175cb0e9dae43e663feed99c..0a2d947d02af9111e3d951f524057d87fb896397 100644 (file)
@@ -1197,3 +1197,4 @@ pl:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 8802ba324f5ba895ee33e2c8102bf602a3bd6a35..491d4199ce0df2176d312f0ea0ed25a33718df6e 100644 (file)
@@ -196,6 +196,7 @@ pt-BR:
   error_issue_not_found_in_project: 'A tarefa não foi encontrada ou não pertence a este projeto'
   error_no_tracker_in_project: 'Não há um tipo de tarefa associado a este projeto. Favor verificar as configurações do projeto.'
   error_no_default_issue_status: 'A situação padrão para tarefa não está definida. Favor verificar sua configuração (Vá em "Administração -> Situação da tarefa").'
+  error_ldap_bind_credentials: "Conta/Palavra-chave do LDAP não é válida"
 
   mail_subject_lost_password: "Sua senha do %{value}."
   mail_body_lost_password: 'Para mudar sua senha, clique no link abaixo:'
index da696f2b36733b62ab2b9022c840f2cd663931c9..8df9b38fed15995eeca5479ca4f878b0f91adb70 100644 (file)
@@ -184,6 +184,7 @@ pt:
   error_scm_command_failed: "Ocorreu um erro ao tentar aceder ao repositório: %{value}"
   error_scm_annotate: "A entrada não existe ou não pode ser anotada."
   error_issue_not_found_in_project: 'A tarefa não foi encontrada ou não pertence a este projeto.'
+  error_ldap_bind_credentials: "Conta/Palavra-chave do LDAP não é válida"
 
   mail_subject_lost_password: "Palavra-chave de %{value}"
   mail_body_lost_password: 'Para mudar a sua palavra-chave, clique na ligação abaixo:'
index 2e89625a162ecbdc153dcc75d26335a846393fe8..dde92c93dd5ef3f0111db12877014992524b62a2 100644 (file)
@@ -1177,3 +1177,4 @@ ro:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 952fc8ef1b7224ae6d7b53256b99f31ca2a81be0..0d71a9e922bbb0614e3f133a1673dada00e85456 100644 (file)
@@ -1283,3 +1283,4 @@ ru:
   label_any_open_issues: любые открытые задачи
   label_no_open_issues: нет открытых задач
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 0508f1fe5c95362a43d771c68d7bbe0a11bf61bb..2800da2446ba38ea07c0a2e2409fe04436c8ae0f 100644 (file)
@@ -1172,3 +1172,4 @@ sk:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 56742220dd6c9e5bcb37fafa8e8b925678bfa6d4..c772fdced16b915f54ed7198cc475e788f6c43b4 100644 (file)
@@ -1182,3 +1182,4 @@ sl:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index fd2fdd33de69562d67bf146a7c6dd3582ea5fe3f..6742f89e00a701829a7075263b69ff7d0f2af7fc 100644 (file)
@@ -1178,3 +1178,4 @@ sq:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 3b30b09a8b319fc107a44fc2c5d71837352a350c..3956b1a0d0fad2e8d71f82476d00e1c741c8b27d 100644 (file)
@@ -1184,3 +1184,4 @@ sr-YU:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 89e5cfa96011f0300f7d36f4735832088d04d98e..83d4cee94d95f782b44ecd9d612cc064547abba3 100644 (file)
@@ -1183,3 +1183,4 @@ sr:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 73be757c97d1184f92f9b105caccfbd5b7d42fe9..8e9b6ec5e2df6bbda1705fee8d9ea5c02b883550 100644 (file)
@@ -1215,3 +1215,4 @@ sv:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 122fcd4e1c93fed1cd1ad0bec33dae9e3c908587..c0abce37afeced485722dfe1b8a74afe7de514ec 100644 (file)
@@ -1179,3 +1179,4 @@ th:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index d1a9346f804a436068aeb523509bf79a06855e87..e9fcc428ec03bab58c5bc58b65975fd25398e88a 100644 (file)
@@ -1189,3 +1189,4 @@ tr:
   label_any_open_issues: herhangi bir açık iş
   label_no_open_issues: hiçbir açık iş
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 077bfbad31e4a03e538cff759905e16c8e12ba05..684fdebf382b138a91023893231c03202749d09e 100644 (file)
@@ -1177,3 +1177,4 @@ uk:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 632e446245024a82e83d909a3b834f7015c2fbc3..2d726709bceb142ea7b8d3f2140cc6f05a12a4e7 100644 (file)
@@ -1235,3 +1235,4 @@ vi:
   label_any_open_issues: any open issues
   label_no_open_issues: no open issues
   label_default_values_for_new_users: Default values for new users
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index 8d83868f6bef7861d6ab7c7a29fa6af52fdf6a34..9ca14ebdebedf03119852d2289ef11fad1eeeb3f 100644 (file)
   description_date_from: 輸入起始日期
   description_date_to: 輸入結束日期
   text_repository_identifier_info: '僅允許使用小寫英文字母 (a-z), 阿拉伯數字, 虛線與底線。<br />一旦儲存之後, 代碼便無法再次被更改。'
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index ab1d87fa7b867af9784543272fc51d1e9c38bdb3..9355284ec7e400e87bee71df781b910ef8154868 100644 (file)
@@ -1177,3 +1177,4 @@ zh:
   label_any_open_issues: 任意进行中的问题
   label_no_open_issues: 任意已关闭的问题
   label_default_values_for_new_users: 新用户默认值
+  error_ldap_bind_credentials: Invalid LDAP Account/Password
index fcfab365f8d6d916c5b4e460a4d6b6bb0ea6917c..a436cda93fc2a6758145c3cf8b720a8dc97d279e 100644 (file)
@@ -24,6 +24,26 @@ class AuthSourceLdapTest < ActiveSupport::TestCase
   def setup
   end
 
+  def test_initialize
+    auth_source = AuthSourceLdap.new
+    assert_nil auth_source.id
+    assert_equal "AuthSourceLdap", auth_source.type
+    assert_equal "", auth_source.name
+    assert_nil auth_source.host
+    assert_nil auth_source.port
+    assert_nil auth_source.account
+    assert_equal "", auth_source.account_password
+    assert_nil auth_source.base_dn
+    assert_nil auth_source.attr_login
+    assert_nil auth_source.attr_firstname
+    assert_nil auth_source.attr_lastname
+    assert_nil auth_source.attr_mail
+    assert_equal false, auth_source.onthefly_register
+    assert_equal false, auth_source.tls
+    assert_nil auth_source.filter
+    assert_nil auth_source.timeout
+  end
+
   def test_create
     a = AuthSourceLdap.new(:name => 'My LDAP', :host => 'ldap.example.net', :port => 389, :base_dn => 'dc=example,dc=net', :attr_login => 'sAMAccountName')
     assert a.save
@@ -135,6 +155,103 @@ class AuthSourceLdapTest < ActiveSupport::TestCase
       results = AuthSource.search("exa")
       assert_equal [], results
     end
+
+    def test_ldap_with_correct_host
+      auth_source = AuthSourceLdap.find(1)
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_nothing_raised Net::LDAP::Error do
+        auth_source.test_connection
+      end
+    end
+
+    def test_ldap_with_incorrect_host
+      auth_source = AuthSourceLdap.find(1)
+      auth_source.host = "badhost"
+      auth_source.save!
+
+      assert_equal "badhost", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_raise Net::LDAP::Error do
+        auth_source.test_connection
+      end
+    end
+
+    def test_ldap_with_correct_port
+      auth_source = AuthSourceLdap.find(1)
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_nothing_raised Net::LDAP::Error do
+        auth_source.test_connection
+      end
+    end
+
+    def test_ldap_with_incorrect_port
+      auth_source = AuthSourceLdap.find(1)
+      auth_source.port = 1234
+      auth_source.save!
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 1234, auth_source.port
+      assert_raise Net::LDAP::Error do
+        auth_source.test_connection
+      end
+    end
+
+    def test_ldap_bind_with_account_and_password
+      auth_source = AuthSourceLdap.find(1)
+      auth_source.account = "cn=Manager,dc=redmine,dc=org"
+      auth_source.account_password = "secret"
+      auth_source.save!
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_equal "cn=Manager,dc=redmine,dc=org", auth_source.account
+      assert_equal "secret", auth_source.account_password
+      assert_nil auth_source.test_connection
+    end
+
+    def test_ldap_bind_without_account_and_password
+      auth_source = AuthSourceLdap.find(1)
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_nil auth_source.account
+      assert_equal "", auth_source.account_password
+      assert_nil auth_source.test_connection
+    end
+
+    def test_ldap_bind_with_incorrect_account
+      auth_source = AuthSourceLdap.find(1)
+      auth_source.account = "cn=baduser,dc=redmine,dc=org"
+      auth_source.account_password = "secret"
+      auth_source.save!
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_equal "cn=baduser,dc=redmine,dc=org", auth_source.account
+      assert_equal "secret", auth_source.account_password
+      assert_raise AuthSourceException do
+        auth_source.test_connection
+      end
+    end
+
+    def test_ldap_bind_with_incorrect_password
+      auth_source = AuthSourceLdap.find(1)
+      auth_source.account = "cn=Manager,dc=redmine,dc=org"
+      auth_source.account_password = "badpassword"
+      auth_source.save!
+
+      assert_equal "127.0.0.1", auth_source.host
+      assert_equal 389, auth_source.port
+      assert_equal "cn=Manager,dc=redmine,dc=org", auth_source.account
+      assert_equal "badpassword", auth_source.account_password
+      assert_raise AuthSourceException do
+        auth_source.test_connection
+      end
+    end
   else
     puts '(Test LDAP server not configured)'
   end