【问题标题】:SQL and IIS error when publish an ASP .NET application to IIS将 ASP .NET 应用程序发布到 IIS 时出现 SQL 和 IIS 错误
【发布时间】:2020-01-30 23:51:04
【问题描述】:

我在我的应用程序中添加了一个数据库,然后在 IIS 中发布了它。我在尝试浏览该站点时遇到 SQL 错误和 IIS 错误,并且整天都在尝试解决这个问题。我希望你能看看,看看你能不能想出点什么来。 IIS 错误是:“无法打开登录请求的数据库“KML”。登录失败。用户“NT AUTHORITY\SYSTEM”登录失败”。 SQL错误是:“[SqlException(0x80131904):无法打开登录请求的数据库'KML'。登录失败。用户'NT_AUTHORITY\SYSTEM'登录失败。]。我希望有人能找出问题所在。谢谢。

【问题讨论】:

标签: sql iis


【解决方案1】:

当您将网站发布到 iis 时,它通常以应用程序池的身份运行,并且对于新站点,会创建一个新池,以该站点命名并拥有一个 Windows 用户 IIS AppPool\site-name-here。要使用 Windows 模式身份验证连接到数据库,您需要在数据库中创建一个名称与应用程序池匹配的用户/登录名

在您的情况下,您在似乎使用 ntauthority\system (本地系统)作为其身份的应用程序池上运行您的网站。这是一个非常糟糕的主意。任何找到利用它的方法的人都将获得整台机器的管理员权限。尽管有 throw,您仍然需要登录并将用户映射到 KML 数据库,以便该用户能够使用 Windows auth 登录到数据库

【讨论】:

    猜你喜欢
    • 2020-09-03
    • 2017-02-26
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    相关资源
    最近更新 更多