簡體   English   中英

使用C#的Active Directory身份驗證(編碼問題)

[英]Active Directory authentication with c# (encoding issue)

我無法通過Active Directory對用戶進行身份驗證。 我正在嘗試通過PrincipalContext驗證我的用戶。

我的問題是,即使使用正確的憑據,當用戶密碼包含非ASCII字符時,驗證也會失敗。 但是我僅在產品環境中遇到此問題。 它在UAT和開發環境上正常工作。

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

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

這是黑暗中的一槍,但請聽我說。 這就是為什么我問這是否是一個Web項目。 我有相同症狀的類似問題。 一位用戶來找我,說他無法登錄我的網站。 原來他的密碼中有“特殊”字符。 這沒有任何意義,但是在禁用自定義錯誤之后,我意識到該錯誤是由於ASP.NET請求驗證引起的: http : //msdn.microsoft.com/zh-cn/library/hh882339%28v=vs.100%29 .aspx

請求驗證是ASP.NET中的一項功能,它檢查HTTP請求並確定它是否包含潛在的危險內容。 在這種情況下,潛在的危險內容是請求的正文,標頭,查詢字符串或cookie中的任何HTML標記或JavaScript代碼。 ASP.NET執行此檢查,因為可能出於惡意目的將URL查詢字符串,cookie或發布的表單值中找到的標記或代碼添加到了請求中。

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

希望這可以幫助!

暫無
暫無

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

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