我完全不熟悉ASP.NET的成员/角色。这是我第一次使用它,并且我第一次尝试ASP.NET MVC。当我为MVC创建我的第一个项目时,它给了我一个可爱的模板来创建一个帐户。我很高兴看到我不必手动执行此操作。但是,它失败了,因为它无法连接到SQL Server。我没有SQL Server,我有MySQL。有没有简单的方法可以让我的系统使用MySQL,或者我将不得不创建自己的身份验证?用于MySQL的ASP.NET会员/角色提供者?
回答
明白了!使用的MySql Connector/Net 6.2.2.0版本,请按照下列步骤......
- 添加参考MySql.Web.dll
在web.config中更改
<membership>
这样:<membership defaultProvider="MySqlMembershipProvider"> <providers> <clear/> <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" connectionStringName="NAME_OF_YOUR_CONN_STRING" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" /> </providers> </membership>
- 运行项目| ASP.NET配置工具和安全选项卡上单击测试
- 测试在ASP.NET 3.5中,MySQL服务器5.1版中,Windows XP 64位
点击菜单Project,接着是ASP.NET Configuration。
这将在Data文件夹中为您创建sql数据库。
使用Visual Studio查看数据。
希望这会有所帮助。
编辑
我要补充一点,你就可以使用Ctrl + Alt + S看服务器资源管理器,然后这应该让你看到你的数据库有其表和数据。
您不应该需要安装SQL。
我得到的工具终于来了(它比糖蜜慢),但我没有看到任何数据库。我去了安全标签,并试图选择一个数据存储。然后它给了我一个提供者列表,但只有一个(AspNetSqlProvider),但是这给了我同样的错误(无法连接到SQL服务器)。 – 2010-01-10 23:11:38
在visual studio中,你现在可以看到aspnetdb.mdf文件了吗?它应该在App_Data文件夹中。确保你正在显示所有文件。 – griegs 2010-01-10 23:16:01
编号MDF = SQL Server。我做*不*拥有SQL Server。 – 2010-01-10 23:39:18
我曾与asp.net但我这样做认为它也可以用于mvc:hasangursoy.com.tr/aspnet-authorization-authentication-with-mysql
原始问题没有指定使用哪个版本的ASP.NET & MVC。随着最近发布的.NET 4.5和MVC 4,我遇到了与OP相同的问题,但使用了新技术。这是我的quick fix for it大部分与Josh Stodola的答案相同的配置,但有一些额外的步骤。
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear />
<add name="MySqlMembershipProvider"
type="MySql.Web.Security.MySQLMembershipProvider,
MySql.Web, Version=6.5.4.0, PublicKeyToken=c5687fc88969c44d"
autogenerateschema="true"
connectionStringName="*NAME_OF_YOUR_CONN_STRING*"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/" />
</providers>
</membership>
获取的AccountController和视图的工作:
- 删除MVC 4的AccountController,AccountModels,帐户查看文件夹和_LoginPartial共享视图
- 创建一个新的MVC 3 web应用
- 复制MVC 3 AccountController,AccountModels,帐户视图文件夹和_LogOnPartial共享视图进入您的MVC 4应用程序
- 替换
@Html.Partial(“_LoginPartial”)
与我共享_Layout视图@Html.Partial(“_LogOnPartial”)
在我的方案中,我不需要从我的.NET Web应用程序连接到MySQL。因此,我通过两件事来解决了这个问题:
1)卸载MySQL .NET Connector(所有版本) 2)在Web.Config文件中,删除在MySQL安装后添加的所有密钥。 (否则,安装前拷贝回原来的web.config文件,在.NET Web应用程序根目录)
现在,我的.NET应用程序是BAC
必须经过类似的东西。
下面是MySQL官方的演练,帮助我:
Tutorial: MySQL Connector/Net ASP.NET Membership and Role Provider
注:在我的情况下,machine.config
要编辑是32位一个(他们没有指定,和编辑64位一个没有帮助)。
- 1. Postgres的ASP.NET会员/角色提供者?
- 2. asp.net会员和角色提供者
- 3. 选择角色提供者 - ASP.net会员提供者
- 4. asp.net会员/角色提供商问题
- 5. 用于SQL成员资格/角色提供者的DDL
- 6. 扩展ASP.NET角色提供者
- 7. asp.net mvc和自定义成员资格和角色提供者
- 8. 角色提供者和System.Web.Security.Roles
- 9. 角色提供者 - AccountModel
- 10. 会员用户在asp.net mvc c的成员资格提供者#
- 11. ASP.NET自定义角色提供者:角色取决于上下文吗?
- 12. 刷新ASP.NET角色提供
- 13. ASP.NET会员提供工具
- 14. Asp.net会员提供判断
- 15. 组成员添加到自定义会员/角色提供
- 16. ASP.NET角色提供者:使用sql server而不是sql express?
- 17. asp.net的默默无闻的角色提供者
- 18. ASP.NET MVC没有数据库的角色(也没有角色提供者)
- 19. asp.net使用会员供应商来设置角色
- 20. 什么是角色提供者?
- 21. 外部角色提供者和编译?
- 22. ASP.NET默认的成员资格和角色提供API
- 23. ASP.NET成员资格和角色提供的配置问题
- 24. 通过ASP.NET角色提供者对Active Directory和角色进行ASP .NET认证
- 25. ASP.NET成员资格提供者
- 26. 自定义角色会员供应商
- 27. asp.net角色提供者何时生存和死亡?
- 28. 帮我决定是否使用ASP.NET默认会员/角色提供商或编写自定义提供商
- 29. ASP.NET MVC 3 Ninject自定义成员资格和角色提供
- 30. asp.net会员/角色/配置文件提供程序 - 好还是坏?
谢谢。这是一个很大的帮助。不要错过添加defaultProvider! – Kildareflare 2013-03-31 23:16:30