问题标签 [applicationpoolidentity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
119 浏览

c# - Tesseract 仅在 IIS 中的应用程序池标识设置为本地系统时才有效

我有一个使用 Tesseract OCR 4.1.1 的 ASP.NET Web 应用程序

当项目部署在 IIS 中时,当应用程序池标识设置为本地系统时,系统可以正常工作。但是,当应用程序池标识设置为本地服务、网络服务或应用程序池标识时,系统会抛出以下错误:

无法初始化 tesseract 引擎。有关详细信息,请参阅https://github.com/charlesw/tesseract/wiki/Error-1

当我搜索错误消息时,写到错误消息是由于读取 tesseract 训练数据失败所致。为什么我们需要“本地系统”权限来仅读取训练数据?我只是不相信为什么我必须选择本地系统才能使用 Tessearct OCR 引擎。你能解释一下或建议这个问题的文件吗?以及如何以比本地系统帐户更少的权限解决问题。

0 投票
1 回答
93 浏览

iis - HTTP 错误 503。尝试运行本地主机时服务不可用

HTTP 错误 503。尝试运行本地主机时服务不可用。每次尝试运行本地主机时,默认应用程序池都会停止。IIS--> 应用程序池--> 默认应用程序池--> 高级设置--> 生成进程模型日志条目--> 身份已正确设置为正确的凭据。还尝试重新启动 IIS。尝试了以下链接中建议的所有解决方案。

https://windowsreport.com/http-error-503-service-unavailable/#:~:text=If%20HTTP%20error%20503%20the,it%20would%20resolve%20the%20issue.&text=Right%2Dclick% 20on%20DefaultAppPool%20to,service%20is%20unavailable%20is%20gone。谁可以帮我这个事?

0 投票
2 回答
218 浏览

.net - 如何使用应用程序池标识而不是记录的用户标识上传文件 - ASP.NET MVC 模拟

我正在开发一个 ASP.NET MVC Web 应用程序。我有一种情况,我想使用应用程序池身份而不是记录的用户身份上传文件。我只想在上传文件时使用应用程序池标识。所有其他地方,我想使用记录的用户身份本身。应用程序托管在两台服务器上,Server1 和 Server2。Shared 文件夹位于 Server1 中。

目前我正在上传文件,如下所示

我在 web.config 中有以下设置

任何人都可以帮助重写上面的代码,其中文件上传适用于应用程序池身份而不是记录的用户身份。文件正在上传到托管应用程序的文件夹。

0 投票
0 回答
631 浏览

asp.net - 401 - 未经授权:由于凭据无效,访问被拒绝。您无权使用凭据查看此目录或页面

401 - 未经授权:由于凭据无效,访问被拒绝。您无权使用您提供的凭据查看此目录或页面。

将 IIS 和 .NET 授权规则更改为仅允许本地“管理员”角色后收到此错误消息

操作系统:运行 IIS 10 的 Windows Server 2016

我们的应用程序池在 ApplicationPoolIdentity 下运行。启用匿名身份验证并运行应用程序池身份。ASP.NET 模拟也已启用。Windows 身份验证已禁用(这是一个面向外部的网站)

我已将 IIS AppPool\AppPool 添加到 IIS_IUSRS 组、管理员组和用户组。

我还将 IIS AppPool\AppPool 和 IIS_IUSRS 组的完全控制 ACL 授予网站路径(使用 icacls "WebsitePath" /grant "IIS AppPool\AppPool:(OI)(CI)(IO)F" /T)

尽管如此,还是没有运气。只是不断收到 401。运行进程监视器不会显示任何错误状态或权限问题。服务器事件日志中也没有任何内容。

我还缺少什么??

谢谢

0 投票
1 回答
84 浏览

asp.net-core - 在 ASP.NET core 2.2 发布的站点上应用 Windows 身份验证,而无需获取 chrome 登录对话框

试图在我发布的asp.net core 2.2应用程序上实现Windows 身份验证。托管服务器是Windows server 2016 (IIS)。我想使用登录用户帐户的活动目录来验证我的应用程序上的用户。

我通过这些方法获取用户详细信息:

我不断进入浏览器,登录对话框(虽然我想摆脱它,即使输入凭据 - <用户名> + 密码 - 它没有经过身份验证)。

  1. 我想摆脱它
  2. 停止收到错误 401 - 未经授权

我已经配置了我被建议的内容 - IIS 和浏览器,但仍然 - 继续得到它:

浏览器:

  1. 浏览器安全 - 输入受信任站点的主机 IP 地址

IIS:

  1. 设置身份验证 => 启用 Windows 身份验证为真。
  2. 通过 web.config - 将“forwardWindowsAuthToken”设置为“true”。

站点配置:

  1. 在IIS站点配置(applicationHost) - system.webserver -> Security -> Authentication -> windows authentication -> "UseKernelmode" = "true"

应用程序池:

  1. .NET CLR Vesrion = "无托管代码"
  2. Managed Pipeline Mode =“Integrated”事件试图在“高级设置”中将身份从“ ApplicationPoolIdentity ”更改为“ NetworkService

NTFS 权限:

  1. 将基本权限和默认权限设置为服务器发布的代码目录上的帐户<服务器主机名>\IIS_IUSRS:读取和执行、列出文件夹内容、读取。也许问题就在这里 - 因为 IIS_IUSRS 帐户是在服务器中定义的,而不是在域中?
0 投票
0 回答
39 浏览

iis - 在 IIS 池标识上使用 gMSA 时遇到问题

进行了各种搜索,我相信我一切正常,但仍然无法正常工作。

我已经安装了 gMSA 并在运行 Test-ADServiceAccount 时得到了正确的结果。我已将该帐户添加到本地安全策略中的“作为批处理作业登录”。(是的,我做了 IIS 重置)

我尝试将 gMSA 作为域/帐户和简单帐户放入,但我仍然收到无效身份错误。(编号 5021 和 5057)

是否有任何其他权利或我可能错过的其他任何事情?

我读过一些文章,这些文章提到将某些东西放入 docker 文件中。对 IIS 有点陌生,我不确定它在哪里,更不用说确切地输入什么,或者这是否真的可以解决我的问题。大多数文件引用都指向 C:/ProgramData,但我没有这样的文件夹。

0 投票
1 回答
134 浏览

sql - 如何让 IIS 使用 AppPool Identity 连接到 SQL Server 而不是 NT Authority\IUSR?

我已经设置了一个带有 IIS、PHP 8 和 SQL 驱动程序以及 SQL Server 2019 Express 的 Windows Server 2019 机器。我创建了一个测试 PHP 应用程序和相应的应用程序池,然后设置了一个测试数据库。尝试使用 sqlsrv_connect 进行连接时,出现以下错误:

用户“NT AUTHORITY\IUSR”登录失败。

(SQL 错误中还有更多内容,但它只是原始错误数组输出,Stack Overflow 不喜欢它。)

现在,我相信我已正确配置一切以使用应用程序池标识而不是 NT AUTHORITY\IUSR。我从另一个较旧的(Server 2012)Web 服务器复制了设置。我的设置截图:

在 IIS 中使用应用程序池标识的匿名身份验证

在 SQL Server 中的数据库上添加了应用程序池标识

我是否在某处遗漏了某个设置,或者 Server 2019 处理应用程序池标识的方式与 Server 2012 不同?我已经尝试按照这个优秀的 SO 页面上的说明进行操作:

IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR)

但这就像服务器不在乎我告诉它使用应用程序池一样。

更新编辑:谜团已解决

抱歉,这是一个极端用户错误的案例。我将“test”目录放在 wwwroot 下,ala c:\inetpub\wwwroot\test。我以www.domain.com/test的身份访问它,而我需要做的是将其设置为以 test.domain.com 的身份运行。它在 wwwroot 应用程序池(在本例中使用 IUSR)下运行,因为这就是我访问它的方式。感谢所有帮助我解决此问题的人!

0 投票
0 回答
55 浏览

asp.net-core-2.0 - 如何在 IIS 中获取 Windows 登录用户名定义匿名 + Windows 身份验证

框架:ASP.NET CORE 2.2 作为 web-api 服务器:IIS-10 (Windows server 2016)

我需要同时使用WindowsAuthenticationAnonymousAuthentication。我有这两个选项以某种方式获取Windows LoggedIn User

我在一个匿名的端点(控制器方法)中使用它们。

IISExpress 一切正常,但是在使用 IIS(本地或部署后)时,我无法得到想要的结果:

应用程序池标识是 ApplicationPoolIdentity。

如何在此配置中获取Windows LoggedIn 用户名(匿名 + Windows 身份验证)?

0 投票
0 回答
134 浏览

angular - 在 IIS 上使用 Windows 身份验证时出现错误 401 未授权

机器:windows server 2016 (IIS 10)

框架:ASP.net core 2.2、Web-Api

我有一个简单的ASP.NET 核心Web-api 服务器端和 angular 8 客户端。该应用程序当前托管在我的本地 IIS 上。web-api 包含没有任何授权属性的端点。只要将 IIS 配置设置为匿名身份验证,一切都会正常工作。

当我将 IIS 身份验证设置为Windows 身份验证时(我打算在未来使用它,在需要 Kerberos\AD 身份验证的其他端点中) - 尝试到达相同的端点时我收到错误 401 unauthorize 。

我发现没有办法避免它!

设置 Windows 身份验证后,如何以匿名方式到达端点?

根据错误:“Web 服务器未配置为匿名访问,并且未收到所需的授权标头” - 我可以发送带有“withCredentials”的标头:“false” - 尝试过但没有帮助。

在 Authentication -> Windows Authentication 初始属性中:

扩展保护:关闭

启用内核模式身份验证:true

这是我的 web-api 示例端点:

客户端:

应用程序池定义为:

.NET CLR 版本:“无托管代码”

托管管道模式:集成

身份:ApplicationPoolIdentity