4

我正在尝试 ASP.NET 登录控制教程,一切正常。但是,我不知道如何让登录控件使用我自己的数据库(SQL Server 2005)而不是使用它的 mdf 文件。我也不知道这个文件是从哪里创建的,因为它根本没有出现在我的解决方案中。任何我能找到的关于登录控件工作的文献都将不胜感激。

4

2 回答 2

5

当您使用 ASP.NET 的 Membership 功能时,您需要指定一个提供者。在 machine.config 文件(位于 C:\WINDOWS\Microsoft.NET\Framework\[version]\CONFIG)中,指定了一个默认提供程序,该提供程序使用 app_data 文件夹中的本地 .mdf 文件。由于您不希望这样,您可以在应用程序的 web.config 文件中覆盖它,如下所示:

<system.web>
  <membership defaultProvider="myMembershipProvider">
    <providers>
      <clear /> <!-- remove the default provider since we're not using it anymore -->
      <add type="System.Web.Security.SqlMembershipProvider"
           name="myMembershipProvider"
           connectionStringName="myConnectionString"
           applicationName="MyApplicationName" />
    </providers>
  </membership>
</system.web>

如果您使用角色、个性化或配置文件等其他功能,您还需要以类似方式为它们定义提供程序。

现在您需要在服务器上实际创建数据库/表。为此,请使用 C:\WINDOWS\Microsoft.NET\Framework\[version]\aspnet_regsql.exe。您的提供者的连接字符串应该指向该实用程序将为您创建的数据库。

于 2008-11-25T19:09:58.530 回答
1

一些优秀的 asp.net 登录控件参考:

站点点

MSDN

asp.net

于 2008-11-25T19:06:24.683 回答