连接字符串登录的数据库上下文问题

本文关键字:上下文 问题 数据库 字符串 登录 连接 | 更新日期: 2023-09-27 17:59:26

我的DbContext有以下实现

public class BusinessDataContext : IdentityDbContext<User, Role, Guid, UserLogin, UserRole, UserClaim>
{
    public BusinessDataContext() : base(ConnectionStringManager.GetConnectionString())
    {
    }
}

ConnectionStringManager根据我正在使用的机器返回一个连接字符串,因为有几个,但是作为示例......

Data Source=.;Initial Catalog=BusinessDb;User ID=sa;Password=Pa$$word123!;Integrated Security=true;Trusted_Connection=True;MultipleActiveResultSets=true

当我从Visual Studio调试它时,我没有遇到任何问题,但是当我在IIS下运行时,我收到以下错误

无法打开登录请求的数据库"BusinessDb"。登录名 失败。用户"IIS APPPOOL''BusinessDb"的登录失败。

我不明白为什么当我在连接字符串中指定了"sa"时,它试图以IIS APPPOOL身份登录?

连接字符串登录的数据库上下文问题

您需要通过设置

 Integrated Security=false

在连接字符串中。

通过设置Integrated Security=true API 会尝试使用 Windows 身份验证并登录可能对您的 SQL 服务器没有权限的IIS APPPOOL'BusinessDb