asp.net - 为什么 ASP.NET 忽略我的成员(member)连接字符串?

标签 asp.net sql-server sql-server-2005 asp.net-membership

我有一个使用内置成员资格功能的 ASP.NET 应用程序。因此,我的 web.config 中有一个连接字符串,如下所示:

<add name="MembershipSqlServer" connectionString="Data Source=servername;Database=aspnetdb;uid=user;pwd=password;" />

在我的开发机器上工作时,一切都非常顺利。但是,当我将内容移至 Web 服务器(也恰好运行 SQL Server)时,在调用 User.IsInRole() 时出现此错误:

System.Data.SqlClient.SqlException:用户“NT AUTHORITY\NETWORK SERVICE”登录失败。

F$%*&!!为什么它尝试以这种方式连接?为什么它不使用连接字符串中的用户/密码? Web.config 在开发和服务器上是相同的,我在开发过程中使用服务器上的数据库。

最佳答案

好吧,我明白了...只有 35 分钟。 :P

长话短说:asp.net 成员(member)资格有两个部分......成员(member)资格提供者和 ROLE 提供者。为什么你想要将这两件事分开,我不知道......但我的 web.config 没有指定 角色 提供程序和连接字符串,因此它默认为计算机中的设置。配置(又名 LocalSqlServer 连接字符串)。

所以一直以来,我的应用程序用户都在服务器上...但角色存储在 App_Data 中的本地 .MDF 文件中。呃。

关于asp.net - 为什么 ASP.NET 忽略我的成员(member)连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293589/

相关文章:

c# - 问题 : Authentication using SQL Membership Provider

asp.net - 使用 Jquery Mobile 和 ASP.NET MVC 3 Razor 下载文件

asp.net - MVC : Visual Studio Publish Web dialog cannot find my application's Views

sql - 如何让它只返回最新生效日期的 1 行?

SQL Server 递归选择

sql - SELECT 中的上限字段值

sql-server-2005 - SQL 作业每少于 10 秒发生一次

c# - 通过 C# 与 IIS 交互

sql-server - 您可以搜索 SQL Server 2005 存储过程内容吗?

c# - Excel 导入期间连接到 SQL Server 时因用户错误导致登录失败