2010-05-11 52 views
1

我的任務是將現有的成熟ASP.NET 2.0網站遷移到NHibernate,Mono和MySQL或Postgres。作爲會員提供商如何提供密碼,我有點困惑。如果我製作交換機並使用MySQL會員供應商(outlined in this question)或AspSqlProvider,現有用戶是否可以登錄?對現有用戶使用MySql ASP.NET成員資格提供程序

我想我會更容易問:我該如何訪問由ASP.NET會員提供商使用的加密密鑰,以便我可以在第三方中使用相同的密碼供應商?

回答

1

你在爲這個網站說幾個用戶?它是公開訪問的,還是公司局域網內使用的東西?

將現有的成員資格數據庫傳輸到由MySQL提供程序生成的模式可能會變得有趣。我甚至不知道他們使用的表格模式有多相似,儘管我希望他們非常接近。

如果用戶數量相對較少,我會強烈建議在更換新系統時強制重置密碼。

編輯剛纔看到您添加的Postgres,而我打字 - 如果你的數據庫的選擇仍然是在空氣中,可能會更易於使用基於ORM的提供商,爲您提供一點便攜性(和一貫的行爲)

如果使用nhibernate,我最近正在尋找一個基於nhibernate的會員供應商,最終選擇了這一個:Fluent NHibernate Membership Provider (CodeProject)。通過最小的修改就可以爲我工作,但對於沒有這些擔憂的新建項目而言。它在單聲道雖然:)

發現此:Membership Providers - 請參閱「DataSchema」部分,aspnet_Membership表。看起來像鹽不會是一個問題,所以你應該能夠得到這個工作無w/o密碼重置。

+0

重置密碼是一個交易斷路器:)這也是我最初的想法,但這對客戶來說是不行的。該網站可以公開訪問。 – ScottBelchak 2010-05-11 14:20:50

+0

我應該也提到,我們也遷移到nHibernate並從存儲過程中移開。因此,刪除asp.net會員供應商(存儲特效) – ScottBelchak 2010-05-11 14:31:55

+0

看到我添加的最後一行 - 看起來像你可以從表aspnet_Membership檢索鹽,所以你應該能夠把它關閉而不需要重置密碼。 – AlexCuse 2010-05-11 15:20:41