我对ASP.NET成员资格/角色一点也不熟悉。这是我第一次使用它,也是我第一次尝试使用ASP.NET MVC。当我为MVC创建我的第一个项目时,它为我提供了一个可爱的模板来创建一个帐户。我很高兴看到我不必手动执行此操作。但是,它失败了,因为它无法连接到SQL Server。我没有SQL Server,我有MySQL。有没有简单的方法可以让这个系统改为使用MySQL,还是我必须创建自己的身份验证?
答案 0 :(得分:19)
弄清楚了!使用MySql Connector/Net版本6.2.2.0,请按照以下步骤操作...
将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>
答案 1 :(得分:2)
原始问题未指定哪个版本的ASP.NET&amp;使用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和Views工作:
@Html.Partial(“_LoginPartial”)
@Html.Partial(“_LogOnPartial”)
醇>
答案 2 :(得分:0)
我用asp.net做过这个,但我认为它也可以用于mvc:hasangursoy.com.tr/aspnet-authorization-authentication-with-mysql
答案 3 :(得分:0)
在我的场景中,我不需要从我的.NET Web应用程序连接到MySQL。因此,我通过做两件事解决了这个问题:
1)卸载MySQL .NET Connector(所有版本) 2)在Web.Config文件中,删除MySQL安装后添加的所有密钥。 (或者,在安装之前将原始Web.Config文件复制回.NET Web应用程序根文件夹)
现在,我的.NET应用程序是bac
答案 4 :(得分:0)
不得不经历类似的事情。
这是帮助我的官方MySql演练:
Tutorial: MySQL Connector/Net ASP.NET Membership and Role Provider
注意:在我的情况下,要编辑的machine.config
是 32位一个(他们没有指定哪个,编辑64位没有帮助)。< / p>
答案 5 :(得分:-1)
单击菜单Project,然后单击ASP.NET Configuration。
这将在Data文件夹中为您创建sql数据库。
使用Visual Studio查看数据。
希望这有帮助。
修改强>
我应该补充一点,然后您可以使用Ctrl + Alt + S查看服务器资源管理器,然后该资源管理器允许您使用其表和数据查看数据库。
您不应该安装SQL。