2012-03-21 62 views

回答

0

您可以很容易地執行MembershipProvider.ValidateUser(),然後,如果它無效,請使用MembershipProvider.GetUser()方法按名稱搜索用戶。如果你找到某人,那麼你可以告訴他們,他們的密碼是不正確的,因爲用戶確實存在。

這就是說,我不想給攻擊者一個在我的系統中建立有效用戶名的簡單方法。因人而異。

+0

謝謝。我決定反對它,因爲我不想引入安全漏洞。由於在這個話題上,我還想在我的VerifyNewUser()操作方法中調用user.GetPassword()來激活帳戶並自動登錄用戶。我收到異常: 「此會員供應商尚未配置爲支持密碼檢索。」 我發現我可以啓用這個功能,但是這樣做也引入了另一個安全漏洞? 編輯:雖然我沒有看到任何其他選項,因爲在HTTP請求中傳遞密碼絕對沒有更好的。 – parliament 2012-03-22 01:51:12

+0

它實際上有一個更好的方法來獲取我的VerifyNewUser()操作方法中的密碼。我真的更喜歡保持哈希/鹽的方法,但我需要在這個方法中的「GetPassword()」。我不想妥協整個系統安全這個呼叫= \也許通過http發送實際的哈希值?請指教。 – parliament 2012-03-22 02:28:37

+0

我認爲新用戶已登錄,除非您有設置批准,您不需要獲取該密碼即可訪問您想要的位置。 – 2012-03-22 02:34:40

相關問題