2010-06-29 55 views
1

我正嘗試使用他們的LDAP憑據對我的網站上的用戶進行身份驗證。然而,綁定到活動目錄似乎需要我的憑據,然後才能驗證任何其他用戶名/密碼。
我不想在應用程序中對我的憑證進行硬編碼。有什麼建議麼?LDAP活動目錄身份驗證問題

$self->authen->config( 
DRIVER => [ 'Authen::Simple::LDAP', 
host => 'ldapad.company.com', 
basedn => 'OU=XXX,OU=AD,DC=YYY,DC=ZZZ', 
binddn => 'CN=myname,OU=Users,OU=company,OU=AD,DC=company,DC=ZZZ', 
bindpw => 'secret', 
filter => '(cn=%s)', 

], 

CREDENTIALS   => [ 'authen_username', 'authen_password' ], 
STORE    => 'Session', 
LOGOUT_RUNMODE  => 'logout', 
LOGIN_RUNMODE  => 'login', 
POST_LOGIN_RUNMODE => 'okay', 
RENDER_LOGIN   => \&my_login_form, 

);

回答

2

這是LDAP到A/D的標準常見問題項目。

您必須創建一個特殊用戶才能綁定到A/D,並對客戶端中的憑證進行硬編碼。 AFAIK沒有辦法解決這個問題,但如果有更新的信息可用(我幾年前解決了這個問題),我很想知道。

2

您可以將憑證存儲在單獨的文件中,您可以通過嚴格的權限以編程方式讀取憑據,所以至少您不必將憑證正確地嵌入到源文件中。

1

您應該在活動目錄中創建一個用戶(比如'aduser'),該用戶可能有一個微不足道的密碼。然後你可以簡單地給這個用戶沒有權利做或訪問任何東西。 AD允許任何用戶(即使沒有訪問權限的用戶)綁定到目錄,但他們必須在域上有一個帳戶。

0

如果只有經過身份驗證的用戶可以綁定到數據庫,只需從用戶收集用戶名和密碼並嘗試使用它們進行綁定。如果綁定成功,那麼用戶的用戶名和密碼是正確的。