這是一個很好的文章,但我不知道我在哪裏把我的連接 到LDAP和結合(這我的網頁)?我如何確保 身份驗證將應用於子頁面或將來創建的任何其他 ?
你現在的狀態加入到你的應用程序。您最初可能會考慮在tomcat中實現認證(authn)和授權(authz),而不是在您的應用中。
如果您決定不實施在Tomcat中,並選擇在Perl來實現,那麼你剛剛決定增加狀態,以您的應用程序,這意味着你需要添加某種會話處理。看看CGI :: Session,CPAN上還有很多其他會話處理模塊。避免Apache :: Session。它的鎖處理可能導致大量的痛苦,如果交易運行長。在cookie中使用會話密鑰。通過SSL發送所有內容。如果你不使用SSL,那麼破解者可以攔截你的會話密鑰,然後劫持會話。
一旦你建立了會話架構,你需要創建一個登錄機制,通常是一個帶有用戶名和密碼的表單。當表單提交後,CGI背後的密碼會對密碼進行神奇加密,然後執行LDAP跳舞:
- 連接到目錄服務器沒有連接已經存在。
2a。綁定到服務器匿名或作爲應用程序的用戶,搜索通過CN的用戶,綁定如使用DN的用戶和口令
OR
2b中。從用戶名中計算DN,使用DN和密碼的密碼進行綁定。
通常情況下,第3步是檢查用戶的記錄對於一些授權的指標,它可能是一個是/否訪問指示燈,也可以是角色或特權的列表。
如果用戶成功通過認證和授權,然後在用戶的會話中寫入一些授權信息。
然後,您的應用的每個後續頁面都會檢查用戶是否已登錄和/或是否具有正確的authz來使用該頁面。如果未經授權,您可以將它們發送回登錄後登錄頁面,或登錄頁面(如果它們未登錄)。
基本上,您只需替換通常的「查詢數據庫的用戶表」通過查詢將LDAP發送到目錄服務器。