2010-09-10 55 views
0

目前,我正在使用ColdFusion 8和SQL Server的單點登錄項目2005年單點登錄 - 使用ColdFusion - (外部用戶和Intranet用戶)

當前系統允許內部和外部用戶登錄-in和SQL Server 2005數據庫進行身份驗證,但是我需要更改該過程。

  1. 內部用戶:我想在這裏做的,使用Active Directory進行身份驗證的內部用戶和旁路用戶登錄屏幕
  2. 外部用戶:需要到登錄界面登錄到系統中。

什麼是最佳實施方式?我需要在IIS下啓用Active Directory身份驗證的步驟是什麼?

任何示例示例都很好的幫助。

感謝

回答

3

注:我沒有嘗試過使用IIS/IE/AD集成。

我對IIS/IE/AD內置授權的理解是它在這裏不起作用。它要求您打開目錄和/或站點的IIS身份驗證,只有使用Internet Explorer的客戶端才能使用它,並且不會將這些憑據傳遞給CF.也就是說,如果你想允許匿名訪問它,這將不是一件容易的事。您可以使用反向代理解決某些問題,但這並不簡單。

如果你想仍然使用AD來驗證用戶身份,我應該這樣做:

  • 目前登錄屏幕使用CFLDAP
  • 如果AD登錄失敗,請檢查針對SQL對AD
  • 支票憑證就像你現在所做的那樣

這可以讓你保持AD上的內部用戶和SQL上的外部用戶。此外,它給你一個非常明確的方式來確定他們是哪種類型的用戶。

+0

嗨Ben,這將是一個很好的解決方案,但是我的客戶端想要繞過登錄屏幕並通過Active Directory和SQL服務器進行身份驗證,以進行進一步的角色檢查和處理。同時,外部用戶需要認證SQL Server數據庫。 – 2010-09-10 15:12:39

+0

你可以使用IIS/AD來保護一個僞造普通員工登錄的文件,但是我想不出以這種方式將實際的憑證寫入CF的方法。 – 2010-09-10 17:46:06

0

你也可以使用cfheader來做你的骯髒工作。

<cfheader statuscode="401"> 
<cfheader name="www-Authenticate" value="Basic realm=""My Web Application"""> 

您可以捕獲提交的值並通過cfntauthenticate傳遞它們。

+0

我的理解是,這隻能捕獲基本身份驗證,而不能集成Windows身份驗證。我錯了嗎? – 2010-09-10 19:09:37