我是新來的網絡安全,所以我不想實現我自己的。我打算通過ASP.NET MVC Internet應用程序的VS2012模板使用SimpleMembership。問題是我需要通過Web API傳遞數據。如何手動驗證用戶在ASP.NET MVC互聯網應用程序模板
我打算對我的Web API使用基本身份驗證,所以我只需要在http標頭中傳遞用戶名/密碼。我可以使用Thinktecure.IdentityModel攔截消息。下面是一個使用ASP.NET成員的example:
authConfig.AddBasicAuthentication((userName, password) =>
Membership.ValidateUser(userName, password));
我可以用我自己的布爾函數替換Membership.ValidateUser。我用用戶名/密碼成功地查詢了我的自定義數據庫,並且一切正常。但是,我使用模板的用戶數據庫,因爲我不想存儲字符串(甚至編碼)的密碼。
我不清楚如何使用SimpleMembership的數據庫手動驗證憑據。我可以獲取UserProfile,但無法弄清楚如何檢查配置文件的密碼。
UserProfile user = context.UserProfiles.Find(1);
==OUTPUT==
user
UserId: 1
UserName: "bob"
您是否知道我可以檢查輸入的密碼是否與現有用戶的密碼相匹配?
感謝您的幫助!
嗨馬克 - ValidateUser()不適合我。我會在明天更新這個問題,並提供更多細節。並感謝鏈接散列密碼,看起來很有希望! – brudert
@brudert偉大的東西,讓我知道錯誤是什麼爲ValidateUser(),我們可以得到修復。 –