![](/img/trans.png)
[英]How to get All attributes from an Active Directory user in C#
[英]C# verify user in Active Directory from Socket conection
自成立以來,我就是.Net開發人員。 但是上一次很有趣。 我出於個人目的編寫了網絡基礎dll,並開始編寫合適的iOS客戶端應用。 一切正常,但是現在我有點想不自己管理用戶數據,而是使用Active Directory的現有數據。 將純文本的用戶名和密碼從應用程序發送到服務器並進行驗證不是什么問題,但這並不像我希望的那樣安全。 我個人最喜歡的方式是:
非常簡單直接的方法。 我不必處理證書,可以提供基本的安全性。 我知道,在現代,這不是最安全的方法。 但這足以滿足我的需求。
我的問題是,有沒有辦法從廣告中獲取用戶的哈希密碼,我是否會遇到挑戰? 還是有另一種簡單的方法來提供一種簡單安全的方法來驗證不在本地網絡中的用戶?
提前非常感謝你
最好的問候弗洛里安
您是否嘗試過使用System.DirectoryServices.AccountManagement? 驗證登錄非常簡單:
bool authenticated;
using (PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, domain))
{
authenticated = domainContext.ValidateCredentials(username, password);
}
如您所說,這應該是基本的身份驗證,但不能通過網絡發送普通密碼。 因此,我建議使用非對稱加密的解決方案。
在客戶端加密密碼,然后將加密的消息發送到服務器。 服務器是唯一具有私鑰的服務器,因此可以讀取密碼並使用PrincipalContexts ValidateCredentials
方法對其進行PrincipalContexts ValidateCredentials
(如itsme86所建議的)。
因此,您的應用程序的步驟可能是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.