0
我必須讓用戶在Active Directory系統上更改密碼標誌「用戶必須更改密碼」ist set。adLDAP用戶必須更改密碼
只要通過我的AD Adminsitrator授予adLDAP訪問權限即可。
因此,當用戶嘗試登錄時,我檢查屬性「pwdlastset」是否具有指示用戶必須更改其密碼的值。 如果是,我將他重定向到一個更新pw對話框。
這個解決方案的問題是,當用戶輸入無效的初始密碼時,我也會重定向他。 因爲我不能驗證他。當我嘗試綁定用戶時,使用屬性「pwdlastet」設置它總是返回錯誤「無法綁定」。
$adldap = new \adLDAP(array("base_dn" => $basedn, "account_suffix" => $accsuffix,"domain_controllers" => $dc,"admin_username" => $adminuser, "admin_password" => $adminpw));
//Get Requesting Users "pwdLastSet" Field over the Admin Account
$userToAuthInfo = $adldap->user()->info($name,"pwdlastset");
if($userToAuthInfo[0]["pwdlastset"][0] == 0)
{
//redirect user to pwd renew
}
else
{
//bind user and redirect to home
}
有誰知道我該如何解決這個問題? 我想如果與pw分開的屬性會存在我可以請求並檢查它是否相同。但是,當我沒有錯,我認爲這樣的屬性不存在。
謝謝你,你的解決方案指出我正確的方向。 – ok3n0b1 2013-08-06 07:08:12