数据库文件和 ASP.NET 登录控件

Jai*_*cia 4 sql-server asp.net security login

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

Bra*_*bby 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>
Run Code Online (Sandbox Code Playgroud)

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

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