iT邦幫忙

0

Linux Apache網頁經由Windows LDAP服務驗證登入

qwop1421 3 月前3276 瀏覽

目的:
Windows AD Group/User等等帳戶,當作Linux特定Web驗證的使用者資料

目前Windows Server已經架設好AD
Linux已經會使用phpLDAPamdin新增使用者等等

疑問"Windows":
Windows的"User and Computer"建立的帳戶資料就是LDAP資料?
Ldp.exe只有查詢LDAP資料的功能?
Windows的帳戶資料要如何與Linux同步?

疑問"Linux":
phpLDAPadmin建立的使用者可以當作本機(Linux)登入的使用者嗎?
apache "mod_authnz_ldap"帳戶驗證,要如何與LDAP連結?
要如何與Windows LDAP帳戶資料同步?

請了解LDAP的大大分享一下,就算不知道也可以經驗交流一下

2 個回答

0
froce
iT邦新手 5 級 ‧ 3 月前

我不是寫PHP的,所以上面的套件都沒用過,不過我最近剛完成一個Django專案,也是透過windows AD,作為使用者帳號認證機制。
我本來是要用套件django-auth-ldap,但發現實在不會用,後來覺得直接用pyldap這種python底層套件做也不會多麻煩,就直接硬做了。
我的機制是這樣,當使用者通過AD認證時,查詢使用者的AD帳戶資訊,把其中想要的資料、密碼(AD不會吐出密碼,甚至連加密後的密碼都不會)存入專案的資料庫,如果使用者不存在就新建一筆資料,已存在就直接更新資料。
我幾乎就是做了網路釣魚的手法,只是密碼我有利用Django機制去加密而已。
所以說我的資料並不是完全同步的,AD上使用者被刪除了,資料庫也還會留著資料。
我不知道PHP上是怎麼做的,不過我猜應該也是同樣的作法。
目前不知道AD有沒有機制在異動時主動通知某個client去做異動,有的話應該就可以作到所有資料同步了。
不知道這樣對你有沒有幫助。

qwop1421 iT邦新手 5 級 ‧ 3 月前 檢舉

所以froce大大是利用"Windows AD帳戶"在登入某驗證網頁的瞬間,把帳戶資料存下的方式進行嗎?
其實我對這一塊很不熟,也才嘗試了解第3天

froce iT邦新手 5 級 ‧ 3 月前 檢舉

我的流程是這樣:
1.使用者輸入帳號密碼
2.做LDAP認證,通過的話,將使用者資訊(從AD撈出)、密碼(網頁輸入)存入Django的使用者資料庫中

目前我還在找可以一次把所有使用者從AD撈出的方法,這樣我就可以做批次比對去刪除資料庫的資料。

0
cmwang
iT邦高手 1 級 ‧ 3 月前

鵝最近也在搞這個,要認AD account的話可以透過kerberos處理掉(mod_auth_kerb2),LDAP的話應該也是類似的吧/images/emoticon/emoticon19.gif....

qwop1421 iT邦新手 5 級 ‧ 3 月前 檢舉

我在Linux本機建立簡單測試帳戶,一樣本機連入認證網頁,但是都是"Unauthorized"
https://www.server-world.info/en/note?os=Debian_8&p=httpd&f=10

我要發表回答

立即登入回答