2013-07-24 17 views
2

我有一個應用程序在運行ASP.NET 3.0的框架上使用表單身份驗證。我現在正在構建和MVC 4應用程序,也使用表單身份驗證,我想分享兩個應用程序之間的身份驗證。我都配置了匹配auth標籤和精確機器密鑰標籤的文件。我認爲我的問題是ASP.NET應用程序使用舊的ASP成員資格提供程序,它具有MD5格式的用戶密碼,而MVC應用程序使用簡單的成員資格密碼格式SHA1。具有不同表單憑證的應用程序之間的ASP.NET表單身份驗證

即使使用不同的憑據(密碼格式),是否可以在兩個應用程序之間共享用戶身份驗證?

對於在表單標籤認證的主要應用程序我有這個

<credentials passwordFormat="MD5"/> 

我真的不知道,如果這是我的問題,或者發生了什麼事情。

+0

[在WebSecurity的SimpleMembershipProvider的PBKDF2算法時,通過所產生的隨機鹽的事實StaticRandomNumberGenerator並使用散列存儲在密碼字段中。](http://stackoverflow.com/a/10416811/209259) –

回答

1

好了,我明白了我的答案。我所要做的只是添加標籤中的屬性compatibilityMode =「Framework20SP2」。

這是由於我的ASP.NET應用程序是上了年紀的框架和我的新的MVC應用程序運行是在框架4.0

0

你的選擇是相當多:

  1. 寫自己的ASP.Net 2.0 MembershipProvider使用PBKDF2算法來存儲密碼(重置每個人的密碼將被要求)。您不必重寫SimpleMembershipProviders存儲的密碼(我知道),因此您必須編寫自己的ExtendedMembershipProvider以複製默認MembershipProvider中的ASP.Net 2.0安全機制。

作爲一個方面說明,MD5是(在我看來)一個可怕的算法來存儲密碼。在這一點上,我讀過bcryptPBKDF2是大多數安全專家推薦的。

如果您對Microsoft爲提高.Net版本安全性所做的更改感興趣,則文章Stronger Password Hashing in .NET with Microsoft’s Universal Providers是一個很好的閱讀。

+0

爲了更好地理解你說的話,我將不得不更新Asp.net成員密碼以匹配簡單成員密碼類型的哈希/編碼?然後編寫一個會員提供程序來複制asp.net會員提供程序的功能?哪個應用程序需要該客戶提供商? –

+0

根據你的評論更新。 (你不會只更新密碼,你必須編寫代碼,據我所知) –

+0

嗯,我想我有我的工作切斷了我。希望能有更容易的事情。我會看看你提供的鏈接。感謝你的回覆 –

相關問題