- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个运行 Windows Server 2012 R2、IIS 8.5(包括 ClassicASP 功能)和 SQL Server 2014 Express 的新服务器版本。我想使用应用程序池标识连接到数据库。数据库设置为“Windows 身份验证模式”。
我的应用程序池标识名为 activbase.net
。我在 SQL Server 中设置了一个名为 IIS AppPool\activbase.net
的安全登录,并且用户使用 db_datareader
和 db_datawriter
访问权限将其映射到我的数据库.
但是,当我尝试从网站访问数据库时,我得到:
Cannot open database "ActivbaseLive" requested by the login. The login failed.
我认为这足以让连接正常工作。应用程序日志(事件查看器)显示:
Login failed for user 'NT AUTHORITY\IUSR'. Reason: Failed to open the explicitly specified database 'ActivbaseLive'. [CLIENT: ]
因此,我同样将 NT AUTHORITY\IUSR
添加到 SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users,这解决了问题。
我的问题如下:
IIS AppPool\activbase.net
登录/用户之外,我是否还需要将 NT AUTHORITY\IUSR
登录/用户添加到我的 SQL Server 实例和数据库中? 谢谢,克里斯
最佳答案
没有。除了 IIS AppPool\activbase.net
身份之外,您不需要为 NT AUTHORITY\IUSR
身份添加 SQL Server 登录名。仅登录 IIS AppPool\activbase.net
应用程序池标识就足以使用 Windows 身份验证连接到 SQL Server。
NT AUTHORITY\IUSR
是内置 Windows 帐户,是为应用程序启用匿名身份验证时使用的默认身份。 This page描述该帐户的理由。
要使用 IIS AppPool\activbase.net
身份连接到数据库,您需要将匿名用户的帐户设置从 NT AUTHORITY\IUSR
更改为您的IIS AppPool\activbase.net
应用程序池标识。请按以下步骤进行此更改:
下面链接中的问题(及其答案)解决了同样的问题:
Login failed for user NT AUTHORITY\IUSR
关于你的第二个问题“这样做是否存在安全问题?”,答案是"is"。您最好不希望 NT AUTHORITY\IUSR
内置帐户访问您的 SQL Server 数据库,因为它被用作您托管的任何其他网站(及其应用程序)上的默认匿名帐户。 IIS 网络服务器。这意味着其他网站和应用程序将能够连接到您的数据库。如果它们在攻击中受到损害,它们可能会被用来访问您的数据。因此,最好不要使用 NT AUTHORITY\IUSR
进行 SQL Server 登录。相反,应限制对您网站(或应用程序)的应用程序池标识的数据库访问。
关于iis-8.5 - IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26231743/
我有一个 PHP 脚本,它通过 shell_exec() 运行 Powershell Stop-Process 命令。 PHP 作为 IUSR 运行。当我运行脚本时,我收到一条访问被拒绝的错误消息。如
我发现了一些相关但不一样的东西。 The error "Login failed for user 'NT AUTHORITY\IUSR'" in ASP.NET and SQL Server 200
当我想通过 IIS 管理器浏览我自己的 asp.net 网站时出现此错误HTTP 错误 500.19 - 内部服务器错误无法访问请求的页面,因为该页面的相关配置数据无效。此解决方案授予 IUSR 用户
用户 'NT AUTHORITY\IUSR' 登录失败。 其实这样的情况,要不就是用户名密码不正确,要不就是用户无法登录sql server 2008.一步一步分析。 1、首先asp连接sql
我有一个在 Windows 7/IIS 7.5 上的“ASP.NET v4.0 Classic”应用程序池中运行的 ASP.NET 4.0 应用程序,该应用程序配置为作为网络服务运行。该应用程序有一个
我接到了在这台机器上安装 PHP5.4 的任务。手动安装步骤之一是将 IUSR 帐户配置为具有特定权限。问题是,我看到 IIS_IUSRS 组,但没有 IUSR 帐户。列出的唯一用户是管理员用户、 g
在 IIS 管理器中心 Pane 中,有一个标题为“身份验证”的图标,如下所示: 点击图标,我们得到如下3项: 右键单击匿名身份验证并选择编辑,我们有: 问题:我应该使用哪一个?有什么区别? 最佳答案
我有一个运行 Windows Server 2012 R2、IIS 8.5(包括 ClassicASP 功能)和 SQL Server 2014 Express 的新服务器版本。我想使用应用程序池标识
我的 ASP.NET v3.5 Web 应用程序在尝试打开与 SQL Server 2008 数据库的连接时抛出以下异常: System.Data.SqlClient.SqlException:Can
我是一名优秀的程序员,十分优秀!