主題: LifeType跟單一帳號(LDAP)結合的問題!
作者: ★天秤女★佳佳 於 九月 10, 2007, 03:52:38 下午
我現在有一個單一入口網 帳號密碼打入之後 再到LifeType註冊帳號 這樣就不會隨便人都來LifeType註冊 :'(
想請問這段怎麼連接 plugin或是看官方文件有沒有內建這樣的功能?? 我找ldap的文章都沒看到 :-S
thanks
主題: Re: LifeType跟單一帳號(LDAP)結合的問題!
作者: lss 於 九月 11, 2007, 07:45:05 上午
使用 LDAP 做認證,以目前 LifeType 的架構可以支援,但據我所知,目前沒有人實作。
先看看這裡 (http://wiki.lifetype.net/index.php/User_data_providers#Developing_custom_providers)瞭解一下什麼是 userdata provider 。
相關檔案包括 config/userdata.properties.php 和 class/dao/userdata 目錄下目前支援的各種 userdata provider 。
你可以參考現有 userdata provider 的寫法自行寫一個 ldapuserdataprovider.class.php 來達成你的目的。
完成了記得來分享哦!
lss
主題: Re: LifeType跟单一帐号(LDAP)结合的问题!
作者: chax 於 九月 20, 2007, 08:18:06 上午
我是直接在dousercreation.class.php中加入一步ldap认证,写的不规范;但是勉强可以达到先通过ldap认证才能注册的目的。 代码如下: //ldapauth $ldap_server="ldap1.swufe.edu.cn"; $ldap_basedn="********"; $ldap_bindcn="*****".$ldap_basedn; $ldap_passwd="******"; $ds=ldap_connect($ldap_server); $dn = "ou=teacher,".$ldap_basedn; $filter="uid=".$this->userName; if ($ds) { $r=ldap_bind($ds); $sr=ldap_search($ds,$dn,$filter); $s_n=ldap_count_entries($ds,$sr); if ($s_n!=1) { $this->_view = new SummaryUserCreationView(); //$this->_form->hasRun( true ); $this->_form->setFieldValidationStatus( "userName", false ); $this->setCommonData( true ); ldap_close($ds); return false; } $info = ldap_get_entries($ds, $sr); $ldn=$info[0]["dn"]; @$lbind=ldap_bind($ds,$ldn,$this->userPassword); if (!$lbind) { $this->_view = new SummaryUserCreationView(); $this->_view->setErrorMessage( $this->_locale->tr("error_invalid_password")); $this->_form->setFieldValidationStatus( "userPassword", false ); $this->setCommonData( true ); ldap_close($ds); return false; } } else { $this->_view = new SummaryUserCreationView(); $this->_view->setErrorMessage( $this->_locale->tr("can_not_connect_ldap")); $this->_form->setFieldValidationStatus( "userPasswordCheck", false ); $this->setCommonData( true ); ldap_close($ds); return false; }
|