Membership.ValidateUser(用戶名,密碼)返回表示布爾如果登錄成功還是失敗..Asp.net Membership.ValidateUser()它可以更具體嗎?
我怎麼能知道更具體的,如果它是密碼或無效的用戶名?
感謝
Membership.ValidateUser(用戶名,密碼)返回表示布爾如果登錄成功還是失敗..Asp.net Membership.ValidateUser()它可以更具體嗎?
我怎麼能知道更具體的,如果它是密碼或無效的用戶名?
感謝
您可以很容易地執行MembershipProvider.ValidateUser(),然後,如果它無效,請使用MembershipProvider.GetUser()方法按名稱搜索用戶。如果你找到某人,那麼你可以告訴他們,他們的密碼是不正確的,因爲用戶確實存在。
這就是說,我不想給攻擊者一個在我的系統中建立有效用戶名的簡單方法。因人而異。
謝謝。我決定反對它,因爲我不想引入安全漏洞。由於在這個話題上,我還想在我的VerifyNewUser()操作方法中調用user.GetPassword()來激活帳戶並自動登錄用戶。我收到異常: 「此會員供應商尚未配置爲支持密碼檢索。」 我發現我可以啓用這個功能,但是這樣做也引入了另一個安全漏洞? 編輯:雖然我沒有看到任何其他選項,因爲在HTTP請求中傳遞密碼絕對沒有更好的。 – parliament 2012-03-22 01:51:12
它實際上有一個更好的方法來獲取我的VerifyNewUser()操作方法中的密碼。我真的更喜歡保持哈希/鹽的方法,但我需要在這個方法中的「GetPassword()」。我不想妥協整個系統安全這個呼叫= \也許通過http發送實際的哈希值?請指教。 – parliament 2012-03-22 02:28:37
我認爲新用戶已登錄,除非您有設置批准,您不需要獲取該密碼即可訪問您想要的位置。 – 2012-03-22 02:34:40
如上評論,揭示了信息給用戶的是一個相當大的安全漏洞。 如果仍然不滿意,您需要編寫自定義會員供應商,請參閱http://www.codeproject.com/Articles/13032/Custom-MembershipProvider-and-RoleProvider-Impleme瞭解更多詳情。
向用戶揭示信息是一個相當大的安全漏洞。 – asawyer 2012-03-21 17:51:25