簡體   English   中英

AJAX請求C#處理程序向ActiveDirectory進行身份驗證

[英]AJAX request to C# handler to authenticate with ActiveDirectory

因此,我正在使用jQuery Mobile開發移動Web應用程序,並且需要從該應用程序從遠程服務器請求一些數據。 我從C#SOAP Web服務或從返回JSON的IHttpHandler獲得數據。 在返回任何數據之前,我需要以某種方式與Web服務/處理程序進行身份驗證。 我希望使用ActiveDirectory,並以某種方式通過AJAX請求將用戶名和哈希密碼傳遞給服務器。 問題是,使用ActiveDirectory在C#中進行身份驗證的示例涉及將純文本用戶名和密碼傳遞給PrincipalContext.ValidateCredentials 有什么方法可以在不知道純文本密碼的情況下將憑據安全地傳遞給C#服務並使其通過AD進行身份驗證?

編輯:以為也許我可以對客戶端的密碼進行哈希處理,然后將其傳遞給服務器,讓服務器獲取所請求用戶的AD密碼,然后以相同的方式對其進行哈希處理,然后進行比較,但無法獲得AD密碼

編輯:看着aSSL

如果您正在使用jui ui開發移動網站,它將不會在設備上運行,而是將在您的Web服務器(iis,如果是Web應用程序)上運行。 您的應用程序可以針對需要查詢的服務使用Windows Authenticatin進行身份驗證,但這取決於用於運行應用程序/模擬的用戶。
問題是您的應用程序和此服務如何在它們與互聯網之間進行通信。 如果無法通過Internet訪問該服務,我不知道您應該為傳輸的安全性擔心多少。
您還可以簽出基於ad fs / ad fs 2的安全解決方案和wcf集成選項,例如此處所述
這些解決方案實現了您正在談論的概念,其中AD FS是一種服務,用於驗證/驗證傳遞的憑據,並將令牌返回給應用程序/服務。 通常,與AD FS的通信使用ssl來保護傳輸層,並對消息進行簽名,以確保中間沒有人與它們發生混亂。
當然,您可以自己實現這種機制。 您無需從活動目錄獲取密碼,只需使用此處提供的代碼示例查看傳遞的憑據(用戶名/密碼)是否可以驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM