问题标签 [impersonation]

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 投票
5 回答
16072 浏览

c# - 需要模拟用户访问网络资源,Asp.Net 帐户

我需要访问只有给定域帐户才能访问的网络资源。我正在使用 LogonUser 调用,但出现“用户没有所需的权限”异常,因为 Web 应用程序使用 asp.net 帐户运行,并且它没有足够的权限来进行此调用。

有没有办法绕过它?更改 ASP.Net 帐户的身份或权限不是一种选择,因为这是一台运行着许多项目的生产机器。有没有更好的方法来实现这一目标?

使用 Asp.Net 2.0,表单身份验证。

亲切的问候。

0 投票
3 回答
5975 浏览

asp.net - 尽管禁用了模拟,但 ASP.NET aspx 页面代码运行模拟

我在 VS 2005 中创建了一个空白测试应用程序作为 ASP.NET 应用程序。MSDN

默认情况下,ASP.NET 不使用模拟,您的代码使用 ASP.NET 应用程序的进程标识运行。

我有以下 web.config

因此,就像文章建议的那样,模拟似乎已被禁用。

我的 aspx 默认为空白,代码隐藏为

当我重新加载页面时,我得到以下调试输出:

[5288] 之前 1:当前主体 = 域\用户 [5288] 之后:当前主体 = 域\用户

输出与

该网站使用默认应用程序池,并且该池设置为使用 NETWORK SERVICE 帐户用于其工作进程。我确定应用程序使用它应该使用的 web.config,并且 w3p.exe 工作进程正在网络服务下运行。

在这种情况下有什么问题?

谢谢!

@Edit:Rob,感谢您的提示!$user 快捷方式告诉我一切都在按我的预期发生:通过模拟,我有运行用户 NT AUTHORITY\NETWORK SERVICE 的进程,并且线程在 WindowsIdentity.Impersonate(IntPtr.Zero) 和“No Token.Thread”之前具有 DOMAIN\User不冒充。” 后。但是 Thread.CurrentPrincipal.Identity.Name 和 HttpContext.Current.User.Identity.Name 在这两个地方仍然给我 DOMAIN\User 。

@Edit:我发现要更改 Thread.CurrentPrincipal 和 HttpContext.Current.User 我必须手动进行:

我不确定这里有什么意义,但无论如何。我现在对 sharepoint 共享服务管理用户配置文件权限有疑问,但这是另一个问题。

0 投票
2 回答
1707 浏览

asp.net - ASP.NET:模拟 VMWare 上的域

我需要在 VMWare 机器上运行的 ASP.NET 应用程序中将自己伪装成域用户。由于 VMWare 机器本身不在域中,因此 ASP.NET 无法解析用户令牌(在 web.config 中指定)。有没有办法做到这一点?

在此先感谢,彼得

0 投票
2 回答
4186 浏览

c# - C#:加载漫游配置文件并以用户身份执行程序

在应用程序中,我需要使用其他用户的凭据执行其他程序。目前我使用System.Diagnostics.Process.Start来执行程序:

但是,此功能不会从网络加载漫游配置文件 - 这是必需的。

我可以使用“runas /profile ...”来加载配置文件并执行命令,但这会要求输入密码。一定有更优雅的方式...

但是哪里?

0 投票
2 回答
538 浏览

.net - System.Diagnostics:如何使用身份登录

我已经实现了基于 System.Diagnostics 的跟踪。

我还在使用 System.Diagnostics.TextWriterTraceListener,并将整个跟踪连接到 MOSS 2007 Web 应用程序。

由于某种原因,跟踪尝试 (a) 创建日志文件,和/或 (b) 使用当前正在浏览 SharePoint 站点的用户写入日志文件,有没有办法配置日志记录以使用特定的用户帐户而不是?

0 投票
1 回答
505 浏览

sharepoint - 可以将 log4net 配置为以自己的身份运行吗?

我正在考虑在 MOSS(SharePoint) 2007 项目中使用 log4net,但我需要知道是否可以轻松地将日志记录配置为使用某个用户名 + 密码进行日志记录。

0 投票
2 回答
3807 浏览

asp.net - ASP.NET 模拟和 SQL Server 可信连接调用

我正在处理一个 ASP.NET 页面,我们在代码中模拟了请求用户。我们正在使用以下代码开始模拟。

在此之后,我们通过调用验证了应用程序正在正确的上下文中运行:

这将返回用户的正确身份,并且文件访问和其他项目似乎正在使用他们的帐户。但是,当使用 Microsoft 应用程序数据应用程序块 SqlHelper 类调用使用受信任连接的数据库时,“NT AUTHORITY\ANONYMOUS LOGON”用户身份验证失败。

我们可以在失败后重新验证当前身份仍然是我们想要的帐户,而不是匿名登录帐户。

有谁知道这是为什么?或者更具体地说,我们如何绕过它?

编辑 有关来自这些页面的调用如何工作的一些附加信息。

我们从 .aspx 页面进行模拟调用。

在我们模拟之后,我们调用一个被引用的“业务逻辑”程序集。

我们知道上下文标识在这里仍然是正确的。

之后,“业务逻辑”程序集调用另一个实际执行可信连接调用的程序集。我们不能修改这个“数据访问”程序集,这个程序集也会报告身份验证异常。

0 投票
3 回答
1001 浏览

visual-sourcesafe - 在 Visual SourceSafe 中模拟另一个用户

我们有一名员工离开了公司,他们在我们的 VSS 数据库中留下了一些已签出的文件。模拟该用户的最佳方式是什么,以便我可以发布这些文件?

0 投票
4 回答
633 浏览

asp.net - asp.net 模拟

我正在编写一个与 Exchange 配合使用的 Web 应用程序,因此需要模拟一个对 Exchange 具有管理员权限的帐户。此帐户由用户在设置时指定。模拟使用此帐户的最佳方法是什么,显然将其硬编码到 web.config 中是行不通的,因为它需要能够更改,但我不确定最好的方法。另外,我实际上只需要以这个管理用户的身份运行 1 个类,是否可以只模拟某些方法?

0 投票
3 回答
4898 浏览

c# - 模仿和委托

我正在使用模拟用于访问 UNC 共享上的文件,如下所示。

在使用 IIS6 的两台 Windows 2003 服务器上,我得到了不同的模拟级别:一台服务器上的委派和另一台服务器上的模拟

这会导致我无法以“模拟”级别访问服务器上的 UNC 共享。

什么可能导致这种差异?我搜索了应用程序池、站点和虚拟目录的 machine.config 和 IIS 设置 - 但无法找到此问题的原因。