ldap 모듈 인증을 위한 prefix 정보를 입력받도록 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5190 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-12-26 08:51:31 +00:00
parent 2caa8b02ac
commit 4056eff5f6
8 changed files with 23 additions and 10 deletions

View file

@ -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';

View file

@ -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 = 'ベースDNsuffix';
@ -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 = 'ディレクトリの ベースDNsuffixをログインして下さい。 (例: 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情報中、会員名情報として使うカラム名を入力してください。 (重複可能)';

View file

@ -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)';

View file

@ -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';

View file

@ -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;

View file

@ -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();

View file

@ -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 ('*'));

View file

@ -5,27 +5,34 @@
<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
<table cellspacing="0" class="adminTable topGap">
<tr>
<tr class="row2">
<th scope="col"><div>{$lang->use_ldap}</div></th>
<td>
<input type="checkbox" name="use_ldap" value="Y" <!--@if($config->use_ldap == 'Y')-->checked="checked"<!--@end--> />
<p>{$lang->about_use_ldap}</p>
</td>
</tr>
<tr class="row2">
<tr>
<th scope="col"><div>{$lang->ldap_server}</div></th>
<td>
<input type="text" name="ldap_server" value="{$config->ldap_server}" class="inputTypeText w400" />
<p>{$lang->about_ldap_server}</p>
</td>
</tr>
<tr>
<tr class="row2">
<th scope="col"><div>{$lang->ldap_port}</div></th>
<td>
<input type="text" name="ldap_port" value="{$config->ldap_port}" class="inputTypeText w80" />
<p>{$lang->about_ldap_port}</p>
</td>
</tr>
<tr>
<th scope="col"><div>{$lang->ldap_userdn_prefix}</div></th>
<td>
<input type="text" name="ldap_userdn_prefix" value="{$config->ldap_userdn_prefix}" class="inputTypeText w400" />
<p>{$lang->about_ldap_userdn_prefix}</p>
</td>
</tr>
<tr class="row2">
<th scope="col"><div>{$lang->ldap_userdn_suffix}</div></th>
<td>