asp .net 4.0成员资格和mysql

时间:2011-03-31 11:45:52

标签: asp.net .net-4.0 asp.net-membership

我们将在visual studio 2010中开发asp .net web应用程序。我们使用asp .net成员资格提供程序进行身份验证。默认情况下,当我在visual studio 2010中创建项目时,它会为sql server提供程序生成身份验证代码,我需要将其更改为MySQL提供程序。任何人都可以指导我,是否可以使用mysql默认创建Web应用程序?如果可能的话怎么办?

3 个答案:

答案 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链接。