我们将在visual studio 2010中开发asp .net web应用程序。我们使用asp .net成员资格提供程序进行身份验证。默认情况下,当我在visual studio 2010中创建项目时,它会为sql server提供程序生成身份验证代码,我需要将其更改为MySQL提供程序。任何人都可以指导我,是否可以使用mysql默认创建Web应用程序?如果可能的话怎么办?
答案 0 :(得分:1)
假设你是从头开始......
您要做的第一件事是获取最新版本的MySQL Connect。这将在您的应用程序中充当MySQL的ADO.NET驱动程序。
接下来是在应用程序配置中配置提供程序。 IT通常看起来像这样:
<add name="MySqlMembershipConnection"
connectionString="Data Source=server_name;user id=username;password=password
database=database_name;" providerName="MySql.Data.MySqlClient"/>
providerName
在这里很重要。这表明您的提供商是MySQL。下一部分是会员提供者。它的类型为MySql.Web.Security.MySQLMembershipProvider, mysql.web
,而对于roleManager,它将为MySql.Web.Security.MySQLRoleProvider, mysql.web
。
答案 1 :(得分:0)
有许多提供商支持此功能,您可以阅读它们并选择最适合您的提供商:
http://dev.mysql.com/tech-resources/articles/dotnet/index.html#ADO.NET
答案 2 :(得分:0)
我希望这有帮助,我已经做了类似的事情,但使用Visual Studios 2012 Express for Web。
首先在您的项目中引用包括“MySql.Data”和“MySql.Web”dll。
执行此操作后,您将需要强名称实用程序从MySql.Web.dll获取公钥标记。
你应该得到这样的东西(公钥标记在底部):
MySql.Web.dll的sn C:\ Program Files(x86)\ MySQL \ Connector NET 6.6.5 \ Assemblies \ v4.0 \ MySql.Web.dll C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1工具&gt; sn -Tp MySql.Web.dll
Microsoft(R).NET Framework强名称实用程序,版本4.0.30319.33440 版权所有(c)Microsoft Corporation。保留所有权利。
公钥(哈希算法:sha1): 0024000004800000940000000602000000240000525341310004000001000100d973bda91f7175 2c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a 519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e 10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c 886b3ee1
公钥令牌是c5687fc88969c44d
如果您右键单击该DLL,它还会为您提供该DLL的版本。您需要将版本和公钥令牌放入web.config文件中。
所以你的web.config文件应该是这样的:
<membership defaultProvider="MySqlMembershipProvider" >
<providers>
<clear/>
<add name="MySqlMembershipProvider"
type="MySql.Web.Security.MySQLMembershipProvider,
MySql.Web, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
autogenerateschema="true"
connectionStringName="AdminConnString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/"
/>
</providers>
</membership>
请注意,在添加名称胡萝卜中,我引用了公钥令牌和dll的版本。
这就是帮助您链接asp.net应用程序以使用MySQL成员资格提供程序。
查看下面的视频,它几乎描述了我刚才所说的内容: https://www.youtube.com/watch?v=NN4y_88vNvo
展示如何将ASP.NET成员资格与MySQL链接。