草庐IT

impersonation

全部标签

c++ - 模拟 MFC C++

我想在Windows中模拟其他用户。例如:我创建了一个仅对用户A和管理员具有权限的目录,当使用用户B登录并运行.exe时,我想模拟用户A以获得在该特定目录中编辑/删除/插入的权限。我找到了这个:http://msdn.microsoft.com/en-us/library/aa374731(VS.85).aspx 最佳答案 首先,请查看这篇关于Windows用户模拟的文章:http://www.codeproject.com/KB/system/UserImpersonation.aspx它应该给你一个起点。如果您需要更多控制权,则

.net - 如何在 Windows 服务中模拟时调用 net.pipe(命名管道)WCF 服务

我在使用来自C#Windows服务的Windows模拟通过net.pipe调用WCF服务时遇到问题。背景该服务从队列中读取并创建子应用程序域,每个应用程序域根据从队列中拉出的项目运行一个特定的模块。我们将Windows服务称为“JobQueueAgent”,将每个模块称为“作业”。我将继续使用这些术语。可以将作业配置为以指定用户身份运行。我们在作业的应用程序域内使用模拟来完成此操作。以下是服务中的逻辑和凭证流:JobQueueAgent(Windows服务-主要用户)>>创建作业域>>工作域(应用域)>>模拟子用户>>使用模拟在线程上运行作业>>作业(模块-子用户)>>作业逻辑“主用户

windows - 是否可以在 VB.NET 中复制以下凭证过程?

解决方案(有点):事实证明,这种具有.NET安全性的模拟只允许应用程序级访问。由于COM对象处于系统级别,因此被模拟的用户仍然无法实例化它。我通过右键单击可执行文件并选择“运行方式...”来解决这个问题,程序运行良好。我发现启动具有系统访问权限的程序(假设您运行它的用户具有这些凭据)。现在我正在创建一个将使用此方法启动此应用程序的外部程序。谢谢你的提示:D我在虚拟机上安装了WindowsXP。它是我域的一部分,但登录用户只是本地用户。显然,如果我尝试访问网络共享,它会提示输入用户名/密码:我正在虚拟机上测试的程序使用COM对象与来自另一个程序的数据进行交互。如果我不模拟,我会收到错误消

java - 如何在 Java 中实现 Kerberos 协议(protocol)转换? (S4U2 self )

编辑现在我知道我需要什么了。我需要在Java中实现Kerberos协议(protocol)转换(S4U2Self)。.Net中有示例,但没有Java示例。有这个第三方库QuestSingleSignonforJava声称这样做。我已经下载了JAR,它看起来不错,但我宁愿使用自定义实现而不是别人的代码(必须付费)。任何人都可以提前了解需要完成的工作吗?是否有任何现有的开放JavaAPI来处理此问题?谢谢之前的问题目前我的应用程序只知道用户ID,我需要使用Kerberos对该用户进行身份验证,创建服务票据并使用它来访问第三方服务。我的应用程序需要充当代理,需要代表提供的用户ID向第三方服务

c++ - 线程模拟的多级使用

我在使用一些很久以前编写的执行线程级模拟和进程生成的类时遇到了一些问题。问题似乎是我对这些实用程序类的使用超出了其他任何人尝试使用它们的范围。第一个通过使用OpenThreadToken和DuplicateToken以及ImpersonateLoggedOnUser进行线程级模拟。第二次尝试使用CreateProcessAsUser和通过OpenThreadToken/DuplicateToken获得的token创建进程。我遇到的问题是:Thread1runninginIISwiththecorrectuserThread2thatiscreatedbyThread1-whichisi

c++ - 从管理员帐户模拟 SYSTEM(或等效)

这个问题是thisquestion的跟进和延续。关于我目前正在处理的权限问题。问题总结:我在没有调试程序(SeDebugPrivilege)权限的域管理员帐户下运行程序,但我需要在本地计算机上使用它。Klugey解决方案:该程序可以将自身作为服务安装在本地机器上,并启动该服务。所述服务现在在SYSTEM帐户下运行,这使我们能够使用我们的SeTCBPrivilege权限创建一个新的具有SeDebugPrivilege的访问token。然后我们可以使用新创建的token重新启动具有提升权限的初始程序。我个人不喜欢这个解决方案。我觉得应该有可能以管理员身份获得必要的权限,不必进行系统修改,例

windows - 调用 ImpersonateSelf() 是否会取消对同一线程所做的所有安全 token 调整?

我不明白ImpersonateSelf().假设我的代码在某个主机进程中运行。该主机进程创建了一个新线程并调整了线程安全性,以便线程具有最小权限,现在新线程执行我的代码。我的代码调用ImpersonateSelf(SecurityImpersonation);会有什么影响?它会重置为该线程所做的所有权限调整吗? 最佳答案 是的。它复制进程token并将其分配为当前线程的模拟token。旧token的特权无关紧要,因为线程不再使用该token。如果要合并权限,请使用GetTokenInformation获取旧权限并自己复制和分配模拟t

c# - 如何获取 Windows 服务登录用户的安全 token ?

我需要模拟特定Windows服务的登录用户帐户。我已经能够使用WMI获取用户名(遗憾的是,LogOn用户身份似乎没有使用任何与常规Windows服务相关的.NET类公开)。但是,只有用户名(可以是本地帐户或域帐户)如何获取该Windows身份的token?可以提供token的LogonUserWinAPI调用需要密码作为参数,这显然是不可用的。用户输入不是一个选项。任何见解将不胜感激。 最佳答案 最后做了以下事情:检查服务是否正在运行。如果不启动服务。使用WMI从服务名称中获取PID。使用.NETProcess类从PID获取进程句柄

c++ - Windows模拟的奇怪行为

我的Windows应用程序可能需要某些部分的管理权限。对于这些情况,我想要求用户提供管理员凭据,并使用以下代码来模拟管理员:BOOLimpersonate(LPTSTRlpszUsername,LPTSTRlpszDomain,LPTSTRlpszPassword){BOOLret=LogonUser(lpszUsername,lpszDomain,lpszPassword,LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,&hToken);if(ret!=TRUE)returnFALSE;OutputDebugString(L"st

c# - 如何确定用户是否具有管理员权限?

我用C#创建了一个程序,允许您更改Windows7登录屏幕的背景。程序必须在System32文件夹中创建一个新文件夹,并将一个文件移到那里。我在我的个人机器上没有问题,但我在friend的机器上测试过,它拒绝创建目录。他的帐户类型是管理员,但我唯一能想到的是他缺少我在计算机上启用的某种权限。所以我想知道是否有一种方法可以检查用户拥有哪些权限?或者绕过它的方法。提前致谢! 最佳答案 要检测到这一点,您可以像这样获取WindowsIdentity对象:WindowsIdentityidentity=WindowsIdentity.Get