0

我在對Active Directory進行身份驗證時遇到問題。我正試圖通過PrincipalContext來驗證我的用戶。使用c#進行Active Directory身份驗證(編碼問題)

我的問題是,即使使用正確的憑據,當用戶密碼包含非ASCII字符驗證失敗。但是我只在我的產品環境中遇到這個問題。它在UAT和開發環境中工作得很好。

我該如何解決這個問題?有沒有AD的任何設置與此有關?

+0

根據通過AD提供的憑據檢查憑據的文化信息。 – Minus

+0

感謝您的回覆,但PrincipalContext.ValidateCredentials()不接受有關文化的任何爭論 – ayk

+0

這是一個Web項目嗎? – LeffeBrune

回答

0

嘗試將密碼編碼更改爲UTF-8

0

這是在黑暗中拍攝的,但是聽我說。這就是爲什麼我問這是否是一個Web項目。我有類似的症狀相同的問題。一位用戶來找我說他無法登錄我的網站。結果他的密碼中有「特殊」字符。它沒有什麼意義,但是禁用自定義錯誤之後,我意識到錯誤是由於ASP.NET請求驗證:http://msdn.microsoft.com/en-us/library/hh882339%28v=vs.100%29.aspx

請求驗證是ASP.NET功能,用於檢查一個HTTP請求 並決定是否它包含潛在的危險 內容。在這種情況下,具有潛在危險的內容是請求的正文,標題,查詢字符串或Cookie中的任何HTML標記或JavaScript代碼。 ASP.NET執行此檢查是因爲URL查詢字符串中的標記或 代碼可能已添加到請求中以用於惡意目的。

在我的代碼有機會驗證用戶密碼之前,幾乎所有看起來像標籤的東西都被標記並且運行時拋出異常。

希望這會有所幫助!

+0

感謝您的想法,我會檢查請求狀態。 – ayk

相關問題