asp.net - 更改 ASP.NET 登录数据库

标签 asp.net database authentication

在我的测试环境中,我创建了一个登录名并在 Visual Studio 中使用了 ASP.NET 配置。它工作得很好。 但是现在在测试之后我将一个现有的数据库导入到我的 sql-server 并且这个数据库包括现有的 asp.net 登录表(相同的结构)。在我的网络应用程序中,我想使用这些导入的表而不是我的测试数据库中的表。我已经检查了 web.config 以及 aspnetreg 工具(不知道确切的名称 :p)

我的问题:如何更改我的 ASP.NET 登录所使用的数据库?

最佳答案

您必须覆盖默认的应用程序服务连接字符串才能让它使用您现有的已部署数据库

在 web.config 连接字符串部分更改默认连接字符串

        <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>

无论你的连接字符串是什么

或者如果您想使用不同的连接字符串,您也可以在 web.config 中更改成员资格提供程序设置中使用的连接字符串的名称

<membership>
        <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/"/>
        </providers>
    </membership>

将 connectionStringName 的名称更改为其他名称

编辑角色提供者代码

<roleManager enabled="true">
        <providers>
            <clear/>
            <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </roleManager>

同样,您需要将 connectionStringName 更改为您的连接字符串。

关于asp.net - 更改 ASP.NET 登录数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3574323/

相关文章:

asp.net - 在脚本中安装 ASP.NET + SQL Express

.net - 将 sqldatasource 绑定(bind)到 asp :label in asp.net 4.0 的正确方法是什么?

c# - 回发后将焦点设置到任何控件

c# - 未找到 System.ComponentModel.DataAnnotations

asp.net-mvc - ASP MVC 表单例份验证在本地工作而不是 IIS 7 - 401 未经授权错误

database - 创建连续聚合时,Azure Postgres 上的 TimescaleDB 出现错误

java - 使用实体管理器删除有时会失败

c# - 在 Entity Framework 查询中过滤子项

authentication - 使用 ruby​​ gem、apt-get 等。通过具有 NTLM 身份验证的代理

c# - byte[] 不包含 SequenceEqual 身份验证方法的定义