與MySQL
回答
創建GitHub上MySqlSimpleMembershipProvider,使樣本項目。
https://github.com/xyz37/MySqlSimpleMembershipProvider
這就是全部。
謝謝你對這個問題的回答。
不幸的是,沒有。
SimpleMembershipProvider
最終只是我們都愛和恨的好,舊MembershipProvider
的派生類。
它在那裏,因爲人們不喜歡有多少抽象函數,你必須重寫,以獲得自定義MembershipProvider
工作。所以這是一個非常愚蠢的實現MembershipProvider
。您必須重新覆蓋這些功能的實現SimpleMembershipProvider
。
我對修改數據庫設計有同樣的問題,不得不回到定製的MembershipProvider
類。
此外,從微軟員工/ ASP.NET開發人員John Galloway's blog採取:
雖然SimpleMembership不是數據庫無關,它的工作原理跨 SQL Server系列。它繼續支持完整的SQL Server,但它也可以與SQL Azure,SQL Server CE,SQL Server Express和LocalDB一起使用。一切都以SQL調用的方式實現,而不是要求存儲過程,視圖,代理和更改通知。
注意SimpleMembership仍需要SQL Server的一些味道 - 它不會與MySQL,NoSQL數據庫等工作,你可以使用若是喜歡ILSpy的工具來看看 在WebMatrix.WebData.dll代碼你想 喜歡看看爲什麼 - 有些地方正在執行SQL Server特定的SQL 語句,特別是在創建表時和初始化表時 。似乎你可能能夠與 另一個數據庫,如果你分開創建表,但我沒有 嘗試它,它不支持在這一點上。
我正在使用LLBLGen(適用於MySql,Oracle,Firebird,DB2等):SimpleMembershipProvider in MVC4 for MySql, Oracle, and more with LLBLGen。
您可以按照本文所述執行相同的操作,方法是使用您想要的任何DAL策略創建您自己的ExtendedMembershipProvider實現。如果您想使用實體框架,您將使用支持實體框架的MySql提供程序編寫您的提供程序實現(請參閱:DevArt's MySql Entity Framework Tutorial)。
令人驚訝的是,很少有提供者在那裏,對MySQL來說看起來沒有一個真的很傷心。 重寫SimpleMemberShip Provider以使用MySQL似乎很容易,但我無法找到任何爲此提供工作包的人。
,但我卻找到MonogDB一個包,看上去沒(沒雖然測試) http://extmongomembership.codeplex.com/
我們只能希望,MySQL將支持這種未來 - 但我懷疑它,因爲沒有公告關於它。
查看Fabio Costa撰寫的關於如何使用SimpleMembership和OAuth與mySQL和bigint或任何您需要的數據庫和數據類型的簡短文章:http://fabiocosta.ca/2012/11/24/use-simplemembership-and-oauth-with-any-database-and-datatype/。它應該解決你的問題。祝你好運。
我還做了以下修改我的代碼:
添加引用MySql.Data,MySql.Data.Entity和MySql.Web。在每個參考上修改屬性「複製本地」爲true。
更改了連接字符串,並在web.config中添加了DbProviderFactory以啓用MySql連接。
在web.config中添加了roleManager和memberShip配置。
的web.config
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=localhost;Database=dbname;User ID=username;Password=password;" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<clear />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.6.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
<system.web>
<roleManager enabled="true" defaultProvider="simple">
<providers>
<clear/>
<add name="simple" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="simple">
<providers>
<clear/>
<add name="simple" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
</providers>
</membership>
</system.web>
- 在根目錄中創建_AppStart.cshtml初始化分貝連接和奧波。在應用程序啓動時在db中創建表。
_AppStart.cshtml
@{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
}
- 添加過濾器,以確保在身份驗證請求數據庫連接。這與在每個控制器上手動放置InitializeSimpleMembership屬性相同。
App_Start \ FilterConfig.cs
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new InitializeSimpleMembershipAttribute());
}
}
- 然後得到了我的OAuth下面這個教程固定與Facebook:http://www.asp.net/mvc/tutorials/mvc-4/using-oauth-providers-with-mvc
http://fabiocanada.ca/2012/11/24/use-simplemembership-and-oauth-with-any-database-and-datatype/鏈接不工作:( –
是隻需訪問https://github.com/xyz37/MySqlSimpleMembershipProvider
下載示例應用程序,並修改您的需求。它開箱即用很棒。如果在遇到無法創建數據庫的錯誤時,在創建用戶和適當權限後首次運行應用程序,請刷新瀏覽器一次或兩次,並創建數據庫。
在https://mysqlmembershipprovider.codeplex.com/上有一個被接受的答案的升級版本,它基於xyz37的作品和ASP.NET Web Stack。
- 1. 使用SQLite與MySQL與MySQL?
- 2. 與MySQL
- 3. 與MySQL
- 4. 與MySQL
- 5. 與MySQL
- 6. MySQL - 與
- 7. 與MySQL
- 8. 與MySQL
- 9. 與MySQL
- 10. 與MySQL
- 11. 與MySQL
- 12. 與MySQL
- 13. 與MySQL
- 14. 與MySQL
- 15. 與MySQL
- 16. MySQL與PostgreSQL與SSRS
- 17. MySQL JOIN與MySQL IN與子查詢
- 18. 視頻上傳與MySQL與MySQL
- 19. sqljocky - MySql - 與MySql溝通
- 20. 與MySQL的Nhibernate Guid MySQL
- 21. Oracle MySQL與MySQL相同嗎?
- 22. 錯誤與mysql
- 23. Vb.net與mysql
- 24. 比較與MySQL
- 25. jbpm 5.4與mysql
- 26. Mysql與總和
- 27. MVC4與MySql
- 28. MySQL與MonoTouch
- 29. PHP與MySQL
- 30. Rvm與Mysql
這是我剛剛使用的答案Kim的應用程序和它的工作原理 – Diin
不錯的工作Kim。保持良好的工作! – ssanchezz23
@Kim Ki Won,我嘗試在我的項目中添加擴展,但成效有限。最大的問題是數據庫上下文。 MySql.Web.Extension項目中的類與MVC4模板附帶的部分類UserProfile非常相似,爲什麼? –