diff --git a/modules/ldap/lang/en.lang.php b/modules/ldap/lang/en.lang.php index d3abf931d..9e902a189 100644 --- a/modules/ldap/lang/en.lang.php +++ b/modules/ldap/lang/en.lang.php @@ -9,6 +9,7 @@ $lang->use_ldap = 'Use LDAP'; $lang->ldap_server = 'LDAP Server Address'; $lang->ldap_port = 'LDAP Server Port'; + $lang->ldap_userdn_prefix = 'UserDN prefix'; $lang->ldap_userdn_suffix = 'UserDN Suffix'; $lang->ldap_basedn = 'base DN'; @@ -20,6 +21,7 @@ $lang->about_use_ldap = 'Please input all necessary information first and then check this'; $lang->about_ldap_server = 'Please input LDAP server information for authirization and data request'; $lang->about_ldap_port = 'Please input port of LDAP server'; + $lang->about_ldap_userdn_prefix = 'Please input userdn prefux for authorization. ex) cn='; $lang->about_ldap_userdn_suffix = 'Please input userdn suffux for authorization. ex) @abc.com'; $lang->about_ldap_basedn = 'Please input base DN of directory. ex) dc=abc,dc=com'; diff --git a/modules/ldap/lang/jp.lang.php b/modules/ldap/lang/jp.lang.php index d6537456f..d00152296 100644 --- a/modules/ldap/lang/jp.lang.php +++ b/modules/ldap/lang/jp.lang.php @@ -9,6 +9,7 @@ $lang->use_ldap = 'LDAP認証連動を使用する'; $lang->ldap_server = 'LDAPサーバーアドレス'; $lang->ldap_port = 'LDAPサーバーポート番号'; + $lang->ldap_userdn_prefix = 'UserDN prefix'; $lang->ldap_userdn_suffix = 'ユーザーサフィックス'; $lang->ldap_basedn = 'ベースDN(suffix)'; @@ -20,8 +21,9 @@ $lang->about_use_ldap = 'LDAP認証連動のためには、下記のサーバー情報とともに上にチェックして下さい。'; $lang->about_ldap_server = 'LDAPサーバー情報を入力してください。'; $lang->about_ldap_port = 'LDAPサーバーのポート(port)番号情報を入力してください。'; + $lang->about_ldap_userdn_prefix = 'Please input userdn prefux for authorization. ex) cn='; $lang->about_ldap_userdn_suffix = '認証のためのユーザーサフィックスを入力してください。 (例: @abc.com)'; - $lang->about_ldap_basedn = 'ディレクトリの ベースDN(suffix)をログインして下さい。 (例: dc=abc,dc=com)'; + $lang->about_ldap_basedn = 'ディレクトリの ベースDN をログインして下さい。 (例: dc=abc,dc=com)'; $lang->about_ldap_email_entry = 'LDAP情報中、会員のメールアカウント情報として使うカラム名を入力してください。 (重複不可)'; $lang->about_ldap_username_entry = 'LDAP情報中、会員名情報として使うカラム名を入力してください。 (重複可能)'; diff --git a/modules/ldap/lang/ko.lang.php b/modules/ldap/lang/ko.lang.php index 862db2bf7..48194dbf6 100644 --- a/modules/ldap/lang/ko.lang.php +++ b/modules/ldap/lang/ko.lang.php @@ -9,6 +9,7 @@ $lang->use_ldap = 'LDAP 인증 사용'; $lang->ldap_server = 'LDAP 서버 주소'; $lang->ldap_port = 'LDAP 서버 포트번호'; + $lang->ldap_userdn_prefix = '사용자 접두사'; $lang->ldap_userdn_suffix = '사용자 접미사'; $lang->ldap_basedn = 'base DN'; @@ -20,6 +21,7 @@ $lang->about_use_ldap = 'LDAP 인증 연동을 위해서는 서버 정보등을 입력 후 사용에 체크를 하셔야 합니다'; $lang->about_ldap_server = '인증과 정보를 요청할 수 있는 LDAP 서버 정보를 입력해주세요'; $lang->about_ldap_port = 'LDAP 서버의 port 정보를 입력해주세요'; + $lang->about_ldap_userdn_prefix = '인증을 위한 사용자 접두사를 입력해주세요 (예: cn= )'; $lang->about_ldap_userdn_suffix = '인증을 위한 사용자 접미사를 입력해주세요. (예: @abc.com)'; $lang->about_ldap_basedn = '디렉토리의 base DN을 입력해주세요. (예: dc=abc,dc=com)'; diff --git a/modules/ldap/lang/zh-TW.lang.php b/modules/ldap/lang/zh-TW.lang.php index 9fc63d793..012bfff75 100644 --- a/modules/ldap/lang/zh-TW.lang.php +++ b/modules/ldap/lang/zh-TW.lang.php @@ -9,6 +9,7 @@ $lang->use_ldap = '使用 LDAP'; $lang->ldap_server = 'LDAP主機位置'; $lang->ldap_port = 'LDAP主機端口'; + $lang->ldap_userdn_prefix = 'UserDN prefix'; $lang->ldap_userdn_suffix = '後綴'; $lang->ldap_basedn = 'base DN'; @@ -20,6 +21,7 @@ $lang->about_use_ldap = '請輸入並檢查所有必填的資料。'; $lang->about_ldap_server = '請輸入已授權的 LDAP主機資料。'; $lang->about_ldap_port = '請輸入 LDAP主機端口。'; + $lang->about_ldap_userdn_prefix = 'Please input userdn prefux for authorization. ex) cn='; $lang->about_ldap_userdn_suffix = '請輸入已授權的 userdn後綴。例) @abc.com'; $lang->about_ldap_basedn = '請輸入 base DN資料夾。 例) dc=abc,dc=com'; diff --git a/modules/ldap/ldap.admin.controller.php b/modules/ldap/ldap.admin.controller.php index 121f3037e..b3c600306 100644 --- a/modules/ldap/ldap.admin.controller.php +++ b/modules/ldap/ldap.admin.controller.php @@ -18,7 +18,7 @@ **/ function procLdapAdminInsertConfig() { // 기본 정보를 받음 - $args = Context::gets('use_ldap','ldap_server','ldap_port','ldap_userdn_suffix','ldap_basedn','ldap_email_entry','ldap_nickname_entry','ldap_username_entry','ldap_group_entry'); + $args = Context::gets('use_ldap','ldap_server','ldap_port','ldap_userdn_prefix', 'ldap_userdn_suffix','ldap_basedn','ldap_email_entry','ldap_nickname_entry','ldap_username_entry','ldap_group_entry'); if($args->use_ldap !='Y') $args->use_ldap = 'N'; if(!$args->ldap_port) $args->ldap_port = 389; diff --git a/modules/ldap/ldap.controller.php b/modules/ldap/ldap.controller.php index 10e50b779..616f554d5 100644 --- a/modules/ldap/ldap.controller.php +++ b/modules/ldap/ldap.controller.php @@ -28,7 +28,7 @@ $password = $obj->password; // 인증 시도 - $output = $oLdapModel->ldap_conn($user_id, $password, $config->ldap_userdn_suffix, $config->ldap_basedn, $config->ldap_server, $config->ldap_port); + $output = $oLdapModel->ldap_conn($user_id, $password, $config->ldap_userdn_prefix, $config->ldap_userdn_suffix, $config->ldap_basedn, $config->ldap_server, $config->ldap_port); // 인증 실패시 아무 event없이 그냥 return하여 기존 인증을 계속 유지 if(!$output->toBool()) return new Object(); diff --git a/modules/ldap/ldap.model.php b/modules/ldap/ldap.model.php index 648ffdeec..40c14633c 100644 --- a/modules/ldap/ldap.model.php +++ b/modules/ldap/ldap.model.php @@ -31,8 +31,7 @@ /** * @brief LDAP 연동하여 정보를 return하는 method **/ - function ldap_conn($user_id, $password, $ldap_userdn_suffix, $base_dn, $ldap_server, $ldap_port = 389) { - + function ldap_conn($user_id, $password, $ldap_userdn_prefix, $ldap_userdn_suffix, $base_dn, $ldap_server, $ldap_port = 389) { if(!function_exists('ldap_connect')) return new Object(-1,'ldap module is not exists'); $ds = @ldap_connect($ldap_server, $ldap_port); @@ -40,8 +39,7 @@ if(!ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) return new Object(-1,'fail to set option'); - $userdn = $user_id.$ldap_userdn_suffix; - + $userdn = $ldap_userdn_prefix.$user_id.$ldap_userdn_suffix; if(!@ldap_bind($ds, $userdn, $password)) return new Object(-1,'fail to bind'); $ldap_sr = @ldap_search($ds, $base_dn, '(cn='.$user_id.')', array ('*')); diff --git a/modules/ldap/tpl/index.html b/modules/ldap/tpl/index.html index 2297d8f77..1e2af02dc 100644 --- a/modules/ldap/tpl/index.html +++ b/modules/ldap/tpl/index.html @@ -5,27 +5,34 @@