设置 MySQL 会员资格(使用 Visual Studio 2010)






4.47/5 (13投票s)
使用 .NET Framework 4.0 和 VS 2010 设置 MySQL 会员资格提供程序
引言
本文将帮助您使用 Visual Studio 2010 设置 MySQL 会员资格提供程序。
背景
会员资格提供程序将帮助您自动设置 .NET Framework 附带的登录功能。
必备组件
- MySQL 服务器应安装在本地计算机或您有访问权限的远程计算机上。
- 我们需要一个数据库,配置完成后将连接到该数据库以测试会员资格提供程序。
以下步骤将帮助您使用 .NET 设置 MySQL 会员资格提供程序
- 从 此处 下载并安装完全托管的 MySQL ADO.NET 驱动程序,版本 6.3.4+
- 在开始安装之前,您可能需要关闭 Visual Studio 开发环境。
- 安装后,您可以确认 MySql 程序集是否存在于C:\WINDOWS\assembly 文件夹中,如下所示
- 在 MySQL 服务器中配置一个数据库,我已在 localhost 上创建了一个名为“
Test
”的数据库,用户名为“root”,密码为“rootpassword”,我将在连接字符串配置中使用相同的凭据。 - 将以下代码放入 web.config 中
<connectionStrings> <remove name="LocalMySqlServer"/> <add name="LocalMySqlServer" connectionString="Datasource=localhost; uid=root; Pwd=rootpassword; Database=test;" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
- 将以下代码放入会员资格提供程序、配置文件提供程序和角色提供程序。请检查您是否在下面的配置中引用了正确的连接字符串名称。
<membership defaultProvider="MySqlMembershipProvider"> <providers> <clear /> <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web,Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true" /> </providers> </membership> <profile> <providers> <clear /> <add type="MySql.Web.Security.MySQLProfileProvider, MySql.Web,Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" name="MySqlProfileProvider" applicationName="/" connectionStringName="LocalMySqlServer" autogenerateschema="true" /> </providers> </profile> <roleManager enabled="true" defaultProvider="MySqlRoleProvider"> <providers> <clear /> <add connectionStringName="LocalMySqlServer" applicationName="/" name="MySqlRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,Version=6.3.4.0, Culture=neutral,PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" /> </providers> </roleManager>
-
从“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG”打开 machine.config,在连接字符串部分添加以下代码
<connectionStrings> <add name="LocalMySqlServer" connectionString="Datasource=localhost; uid=root; Pwd=rootpassword; Database=test;" /> </connectionStrings>
- 在同一个 machine.config 中,检查并修改会员资格、配置文件和角色的提供程序,并检查
connectionStringName
属性是否指向正确的连接字符串名称。不要删除这些提供程序部分中默认存在的任何配置设置,只需在提供程序部分之间添加以下行即可。<membership> <providers> <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" autogenerateschema="true"/> </providers> </membership> <profile> <providers> <add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> </providers> </profile> <roleManager> <providers> <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.3.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> </providers> </roleManager>
- 转到 Visual Studio,单击项目-> ASP.NET 配置
- ASP.NET Web 应用程序管理将在新窗口中打开,单击安全选项卡,您现在可以创建用户、角色和访问规则
- 您还可以检查与项目配置的 MySQL 数据库,其中包含 *aspnet* 表的列表,这些表是在数据库中自动生成的。