问题标签 [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.
iis-8 - 需要哪些权限/策略来支持新应用程序池的 loadUserProfile=true?
在过去的几周里,我的开发工作站(Windows 8.1)上发生了一些事情,这要求我要么运行我的应用程序池并将“加载用户配置文件”设置为 False,要么不运行身份设置为 ApplicationPoolIdentity。如果我要创建一个新的应用程序池,使用 ApplicationPoolIdentity 作为身份并使用 loadUserProfile=true,尝试在浏览器中加载应用程序时会发生以下情况:
- Windows 事件日志中的一些错误(系统和应用程序类型):
- 警告事件 1509 -
Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm to location \\?\C:\Users\[Name of App Pool]\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm. This error may be caused by network problems or insufficient security rights.
- 错误事件 1511 -
Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.
- 另一个 1509 警告
- 错误事件 1500 -
Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly. DETAIL - Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
- 5 x 事件 5022 警告 -
The Windows Process Activation Service failed to create a worker process for the application pool '[App Pool Name]'. The data field contains the error number.
- 最后出现错误 5002 -
Application pool '[App Pool Name]' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
- 警告事件 1509 -
- 应用程序池已关闭,如错误 5002 所述
- “Http错误503服务不可用。” 然后在浏览器中看到。任何进一步的请求都会得到相同的满足(这是有道理的,因为应用程序池已关闭)。
我在这里和这里看到了一个常见的“修复” ,基本上说关闭配置文件加载。是的,它使问题消失了,但这并没有解决根本原因。我知道可以使用此配置运行,因为我有一台支持该配置的 Windows 2012 机器。在这种情况下,使用设置为 ApplicationPoolIdentity 和 loadUserProfile=true 的新应用程序池访问应用程序实际上会创建新的用户配置文件(我可以看到配置文件文件夹是在 中创建的C:\Users
)并且应用程序运行愉快。更糟糕的是我知道这个配置在几周前就在问题机器上工作了。我创建了许多应用程序池,它们在C:\Users
文件夹。这些应用程序池现在可以使用 ApplicationPoolIdentity 和 loadUserProfile=true 设置正常工作。只是新的应用程序池拒绝运行和加载用户配置文件。
有没有人对可能发生的事情有任何见解?
编辑:我阅读了最近这篇文章的底部。说设置可以开启有点矛盾,还说:
只有标准应用程序池(DefaultAppPool 和 Classic .NET AppPool)在磁盘上有用户配置文件。如果管理员创建新的应用程序池,则不会创建用户配置文件。
但是,如果需要,您可以通过将 LoadUserProfile 属性设置为“true”来配置 IIS 应用程序池以加载用户配置文件。
我很困惑。
javascript - 为什么 .Net WebBrowser 控件需要在 Windows Server 2008 上提升权限?
我有一个 ASP.NET 应用程序,除其他外,它正在抓取另一个网站。我在 STA 线程中使用无头 System.Windows.Forms.WebBrowser 控件,使用 Navigate(),处理 DocumentCompleted 事件,yada,yada。WebBrowser 控件导航到远程站点的登录页面(它使用 javascript 来处理 DOM,因此需要 WebBrowser)。我设置了 UserID 和 Password 字段,然后调用 WebBrowser.Document.All["submit"].InvokeMethod("click")。
在我运行 Windows 7 和 IIS 7.5 的开发盒上,这表现如预期。下一次 DocumentCompleted 触发时,很明显我已经成功登录并且我很聪明地处理我的业务。然而,在我的 Rackspace 生产服务器上,运行“没有 Hyper-V 的 Windows Server 2008 Enterprise”和 IIS 7.0,它失败了:在那个盒子上,下一次 DocumentCompleted 被触发时,我会发现我收到了远程站点的“你”已注销。” 页。
我尝试将远程站点添加到受信任的站点列表,并为管理员和用户禁用 IE ESC,但无济于事。
通过在我已将其身份设置为管理员的特殊应用程序池中运行此应用程序,我终于设法实现了所需的行为——我在开发环境中看到的行为。但我不想就这样离开它。
什么是最小特权身份,或在应用程序池上足以允许此无头 STA WebBrowser 正确浏览此依赖于 javascript 的远程站点的最小权限集?
windows - 试图在 IIS 7.5 中授予特定应用程序池标识的权限 - “找不到对象”
通常,我根据应用程序池身份授予文件夹访问权限,格式如下:
在这个特定的新服务器上,当我尝试编辑文件夹的安全设置并添加该特定用户条目时,我得到一个
知道这是为什么吗?我验证了应用程序池设置为ApplicationPoolIdentity
.
我正在使用 IIS 7.5 和 Windows Server 2008 R2。
iis-8.5 - IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR)
我有一个运行 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
访问。
但是,当我尝试从网站访问数据库时,我得到:
无法打开登录请求的数据库“ActivbaseLive”。登录失败。
我认为这足以让连接正常工作。应用程序日志(事件查看器)显示:
用户“NT AUTHORITY\IUSR”登录失败。原因:无法打开明确指定的数据库“ActivbaseLive”。[客户: ]
所以我NT AUTHORITY\IUSR
同样添加了 SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users,这解决了这个问题。
我的问题如下:
NT AUTHORITY\IUSR
除了IIS AppPool\activbase.net
登录名/用户之外,我还需要向我的 SQL Server 实例和数据库添加登录名/用户吗?- 这样做有安全问题吗?(注意:这将是一个生产环境)
谢谢,克里斯
c# - 检查来自远程服务器的文件是否存在
我有一个应用程序需要访问远程服务器上的文件的权限。
我的应用程序在服务器 A 中,我要访问的文件在服务器 B 中。这 2 台服务器在同一个域中。
我在服务器 A 中为服务器 B 中的目录创建了一个虚拟目录。虚拟目录的名称是 FolderFromServerB,其路径是 \ServerB\Folder。我使用用户进行身份验证,当我在 IIS 中测试连接时,它说一切正常。
此外,当我将锚标记放入如下所示的测试文件中时,我可以访问该文件并且内容显示在页面中:
但是我的问题是,当我使用代码来确定该文件是否存在时,它总是返回 False。我的代码如下:
FileInfo fi = new FileInfo(@"\FolderFromServerB/test.txt"); -->这不起作用
Response.Write(fi.Exists); --> 这总是'假'
我向服务器 B 中的用户和网络服务以及所有人和管理员授予了“完全控制”权限,但我都没有工作。
我怎样才能让它工作?
它上周工作。我猜服务器更新了自己并且发生了一些更新,但我找不到任何解决方法。我现在非常绝望,我必须更改所有代码并花费大量时间使其工作。
sharepoint - Sharepoint - 模拟应用程序池身份
我正在使用 SPSecurity.RunWithElevatedPrivileges .... 允许“模拟”超级用户“sharepoint\system”帐户。
“sharepoint\system”帐户是当前 Web 应用程序的应用程序池标识的别名吗?
因此,如果我的应用程序池身份是自定义用户(带有电子邮件和其他信息),我该如何检索其信息?(我试图获取的信息是电子邮件地址......自定义应用程序池用户电子邮件有价值,“sharepoint\system”帐户电子邮件没有价值!!!)
我还尝试使用 WindowsIdentity.Impersonate(IntPtr.Zero) 方法检索 appPool 身份,但是……什么都没有!
所以有什么想法吗???
sql-server - MVC:如何在使用应用程序池标识特定帐户时打印帐户尝试登录 SQL 数据库
我可以打印
但是,在 razor (.cshtml) 文件中,我不知道如何打印应用程序池或验证它是否确实在访问数据库以登录它(由于当前登录失败,这部分是一个更棘手的问题)。
这可能需要在尝试访问数据库的控制器操作中创建一个字符串,例如在类似以下内容的附近:
提前致谢。
iis-7 - 使用应用程序池标识登录 SQL,并将 IIS 设置为 Windows 身份验证
首先,我将解释设置:我正在为 Intranet 环境进行开发。我有一台装有 Microsoft Server 2008 R2、IIS 7 和 Microsoft SQL 2012 的服务器,其中包含我所有的应用程序。IIS 配置为仅使用 Kerberos 进行身份验证。
现在我的问题是:我尝试让一些使用经典 ASP 构建的旧应用程序使用应用程序池标识连接到 SQL。虽然使用应用程序池身份设置的匿名身份验证成功完成此操作,但我无法识别连接的用户,因此我可以在应用程序中管理它们。
最重要的是,我尝试找到一种方法,让我的应用程序使用应用程序池标识连接到 SQL,同时保持使用 Windows 身份验证识别用户的能力。
iis-7 - 在域用户下运行应用程序池
看起来很简单...我转到我的应用程序池高级设置并将服务设置为在可以访问我需要阅读的网络文件的帐户下运行。我知道我已经正确输入了用户名和密码,因为它甚至不允许我使用错误的用户名/密码提交。我正在使用域\用户名格式。我将我的站点连接到此应用程序池,运行该站点,我收到 503 错误,并且应用程序池立即停止。我已经用谷歌搜索了这个,我看到的每一篇文章(其中有很多)都说密码错误,因为它在域中被更改但没有更新。是的,这可能会发生,但我刚刚输入了用户名和密码并且它们已经过验证,我知道它们是正确的。
我只是想读取存在于网络驱动器上的文件,这似乎是最好的方法。如果其他人有任何建议,我愿意尝试其他方法。
更新:我在系统事件日志中得到以下信息(事件 id 5021):
应用程序池 DocumentAPI 的标识无效。为标识指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果没有更正身份,应用程序池将在应用程序池收到第一个请求时被禁用。如果批处理登录权限导致问题,则必须在授予权限后更改 IIS 配置存储中的标识,然后 Windows Process Activation Service (WAS) 才能重试登录。如果在处理应用程序池的第一个请求后身份仍然无效,则应用程序池将被禁用。数据字段包含错误号。
我也经历了这里没有帮助的步骤:
https://technet.microsoft.com/en-us/library/cc735179(v=ws.10).aspx
谢谢!
azure - 在 ApplicationPool 身份个人证书存储中导入证书
有没有办法将证书导入到 Windows 中 ApplicationPool 身份的个人存储中?
问题始于 Azure 网站使用导入证书的方式。正如此博客文章中正确解释的那样 - https://azure.microsoft.com/blog/2014/10/27/using-certificates-in-azure-websites-applications/ - 对于 Azure 网站,证书将安装到个人工作进程的 ApplicationPool 身份的证书存储。
然后通过以下方式访问证书:
我们正在本地和 Azure 上部署相同的代码,因此我们需要一种方法来在我们的 Windows Server 2012R2 上复制这种行为。