问题标签 [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 投票
2 回答
709 浏览

authentication - 从模拟令牌进行网络登录

在模拟客户端的服务中(使用ImpersonateNamedPipeClient),我尝试调用 CreateProcessAsUser。可执行文件名是位于第三台计算机(既不是服务器,也不是连接到管道的客户端)上的 UNC 路径。

调用失败,错误代码为 5 (ACCES DENIED)。在服务器调用之前,我尝试使用WNetAddConnection2从客户端对客户端进行身份验证(在将被模拟的令牌的上下文中),ImpersonateNamedPipeClient但我仍然得到相同的错误。

为了获得对可执行文件的访问权限,我如何验证被模拟的帐户(鉴于服务器仅获得模拟令牌的事实)?

0 投票
1 回答
681 浏览

silverlight - Silverlight 单元测试的模拟用户

我正在尝试使用Silverlight 单元测试框架(不受支持的非官方 MS 库 Microsoft.Silverlight.Testing)编写一些测试。在测试我们应用程序的某些功能时,我需要模拟三个不同的用户。

我们的应用程序供我们公司内部使用,因此经过身份验证的用户可能会根据他们所属的安全组获得不同的功能(例如读/写权限、只读、无访问权限)。

Microsoft.VisualStudio.TestTools.UnitTesting.Web 命名空间具有 CredentialAttribute,用于在测试 ASP.NET 应用程序时模拟不同的用户,但这在 Microsoft.Silverlight.Testing 中不可用。

关于如何做到这一点的任何建议?最简单的工作解决方案将赢得奖品(我永无止境的赞赏)!

0 投票
3 回答
194 浏览

c# - 如何以编程方式获取/设置(进入)可视组件(Windows程序)的数据?

我说的是 Windows GUI 程序。假设程序窗口有一个对话框(或确认按钮)询问用户输入。如何使用我的程序(用 C#、Java 或 Python 编写)向该程序提供输入。或者说,一个程序窗口在它的一个面板中显示了一些图像。我怎样才能从其他(我的)程序中获取它。这是一种模仿(或程序间消息传递?)。有人告诉我它可以使用 spy++ 来完成。但是怎么做?你可以解释吗?写什么代码?间谍++怎么办?

0 投票
1 回答
1950 浏览

asp.net - 是否可以从当前 HTTP 上下文创建 NetworkCredential 对象?

这与这个问题有关,该问题在 SharpSVN 的上下文中没有取得太大的成功,所以我在纯 .NET 安全上下文中重新表述。我想知道是否可以在 ASP.NET 应用程序中基于当前登录用户创建一个 NetworkCredential 对象,而无需明确请求用户名和密码(它是一个集成的身份验证应用程序)。

有很多关于在 Web 上下文之外执行此操作的示例(例如this one),但我找不到与在当前 HTTP 上下文下创建此对象相关的任何内容。从本质上讲,我正在尝试为当前用户自动派生以下内容(顺便说一下,它以硬编码方式工作得很好):

注意:引用 System.Net.CredentialCache.DefaultCredentials 的示例不会在 HTTP 上下文中返回当前用户凭据。

0 投票
1 回答
2015 浏览

.net - 我可以以编程方式对文件共享进行“网络使用”吗?

在 VB.NET 程序中,我想从文件系统读取文件,然后使用不同的凭据将这些文件的压缩版本写入远程、安全的文件共享。

cmd提示符下的类似操作是:

这可能吗?如何?(不用担心压缩和文件 i/o。我的兴趣是安全部分。)

我这样做WindowsImpersonationContext吗?

编辑:你说得对,我真的不想映射驱动器;我想要做的是使用不是默认凭据的凭据访问共享。该应用程序由各种用户运行,并且他们通常没有对共享的写入权限。仅出于此单个文件的目的,我想允许用户写入共享。

那么如何使用替代凭据将单个文件写入共享?请记住,我需要默认凭据或身份来读取充当压缩输入的文件。

这有意义吗?

我知道我可以直接在共享上创建文件。问题是如何使用替代凭据来做到这一点?我知道在创建共享时如何传递替代凭据,这就是我介绍创建共享的想法的原因。我真的不需要共享,因为它仅针对单个文件完成,并且仅在程序中完成。

而且我知道我可以先创建文件,然后将文件复制到共享中。我不想这样做,因为它是一个大文件,我想流式传输一次。

0 投票
1 回答
27290 浏览

c# - ASP.NET MVC 中的模拟

我在 Intranet 上有一个 MVC Web 应用程序,并且希望能够在我们的 FTP 服务器上创建文件以发送给外部合作伙伴。

模拟代码使用 WindowsImpersonationContext。

这是正在发生的事情以及我提出问题的原因:

模拟前

User.Identity.Name:[我的 Windows 凭据]

System.Security.Principal.WindowsIdentity.GetCurrent().Name: NT AUTHORITY\NETWORK SERVICE

冒名顶替

User.Identity:[我的 Windows 凭据]

GetCurrent.Name:[我的 Windows 凭据]

模拟撤消

User.Identity:[我的 Windows 凭据]

GetCurrent.Name:NT AUTHORITY\NETWORK SERVICE

因此,在我模拟之前,当前用户是系统帐户,但在模拟之后,它使用的是我的 Windows 域帐户,该帐户有权在 FTP 服务器上创建文本文件。该代码使用 Visual Studio Web 服务器在本地工作,但当我将其部署在我们的测试服务器上的 IIS 上时却不能。

我收到拒绝访问错误。当模拟正确的用户时,错误的原因是什么?

0 投票
1 回答
100 浏览

sql-server - 在 SQL Server 2000 上模拟 sp_OA*

有没有办法模拟 sp_OA* 调用?我专门将它用于文件系统管理,并且我在 TSQL 中做所有事情以避免 DTS,因为有可能升级到 2005 并且我希望这个解决方案是跨版本的。不幸的是,我需要访问远程文件系统,但我无法将 AD 权限添加到其中一台服务器的系统帐户中(尽管它运行生产 ETL 周期,但它在雷达下而不是在 AD 上)。有没有办法冒充这个?我也会采用 xp_cmdshell 解决方案;我只是希望完全可以避免同时为 DTS 和 SSIS 进行开发以及同时处理两个代码库。

同样,这不是模拟 SQL Server 对象的执行;这是为了使用 SQL Server 系统帐户以外的帐户访问非 SQL Server 资源。我能够找到的唯一解决方案涉及 2005+ 上的 SQLCLR,而不是无论如何我都能够部署程序集。(我是 IT 以外的顾问,还有政治问题。)

0 投票
1 回答
750 浏览

security - 启用 Windows 身份验证时,在 IIS 帐户下运行经典 ASP 页面

我在 ASP 页面上启用了 Windows 身份验证,以便我可以获取当前用户的用户名。这会强制 ASP 页以该用户身份运行。我想锁定该页面当前正在访问的一些文件。有没有办法启用 Windows 身份验证并仍然在运行 IIS 的帐户下运行页面?

0 投票
4 回答
12109 浏览

c# - 我可以在活动目录中使用基于令牌的身份验证吗?

我希望能够安全地登录到系统,而无需在活动目录上的 windows pc 中输入用户名密码。这个想法是我(客户端软件,在登录的 Windows 机器上运行)有某种令牌,可以向服务器证明我就是我所说的我(服务器与 AD 对话以验证令牌和我的身份身份)。.net 3 可以吗?

c# 中使用的语言。

0 投票
6 回答
563 浏览

impersonation - 道德与模仿:替代方案?

您是否曾经为您的客户进行故障排除并询问(或真的想要)他们的凭据以检查他们的设置是否存在故障?我们对此的解决方案是实现模拟功能,以任何用户身份登录并访问用户所做的一切。在这种情况下,一个邮件应用程序。虽然我们不需要密码来模拟,但我还是担心用户的隐私。主要是两件事:他们的邮件和 POP3/IMAP 设置(模仿者可以获得用户的 gmail/yahoo/etc 用户和密码。

围绕此还有哪些其他好的选择/建议?

一些建议的日志。当然,它是必不可少的组件,但您不可能记录所有内容。特别是因为有太多与用户设置无关的内容要记录。