草庐IT

impersonation

全部标签

java - spring security (3.0.x) 和用户模拟

在我的Web应用程序中,有时经过身份验证的管理员可能想冒充系统的另一个有效用户而不必知道该用户的密码。我如何使用SpringSecurity让管理员用户能够模拟系统的普通(非管理员)用户?SpringSecurity文档对此保持沉默,我在任何地方都找不到任何内容。肯定有人解决了这个问题。谢谢! 最佳答案 它在SpringSecurity3中和SpringSecurity4文档恰本地命名为“Run-AsAuthenticationReplacement”。TheAbstractSecurityInterceptorisabletote

c++ - 用于启动和重新启动用户进程的 Windows 服务(带 GUI)

我需要某个进程在每个用户的计算机上持续运行。如果该.exe被终止,我必须能够重新启动它并发送警报。我立即想到构建Windows服务作为理想的解决方案,但我面临一个问题:由该服务启动的进程需要能够与用户交互,例如能够向他展示一个图形用户界面。我的应用程序还设置了键盘钩子(Hook)以监控theuser'stypingrhythms,当我从服务启动.exe时,无法访问该信息。从服务中,我可以“以用户身份”启动进程(使用LogonUser和CreateProcessAsUser函数),但仍然看不到GUI。这可能吗?如果没有,我可以使用什么来实现所需的功能?蒂亚 最

c++ - LogonUser 为错误的密码返回 true

boolbRet=LogonUser(strUserName,L"",strPassword,LOGON32_LOGON_TYPE_NEW_CREDENTIALS,LOGON32_PROVIDER_WINNT50,&phToken)即使我在没有域的情况下输入错误的密码,bRet也总是返回true。是否有任何解决方法,比如如果我输入有效密码,当没有域时,它会为错误的密码返回true和false。 最佳答案 我假设您所说的LOGON32_LOGON_TYPE_NEW_CREDENTIALS实际上是指LOGON32_LOGON_NEW_C

hadoop - 无法在配置单元 server2 上模拟

我试图通过JDBC连接器连接到配置单元服务器2,但出现错误:'userxcantimpersonatey'我将这些属性添加到我的core-site.xml文件中:hadoop.proxyuser.hive.hosts*hadoop.proxyuser.hive.groups*此外,在hive-site.xml中我有:hive.server2.enable.doAstrueSettingthispropertytotruewillhaveHiveServer2executeHiveoperationsastheusermakingthecallstoit.我将我的身份验证设置为无,并且我

hadoop - 在运行时在 Kerberos 安全 Hadoop 集群中模拟用户

我有一个Web应用程序,它接收来自不同用户的从linux命令行运行的其他几个应用程序的请求。对于这些请求中的每一个,我都必须从hdfs读取数据以调用只有调用应用程序linux用户才能访问的应用程序文件夹。有没有一种方法可以设置配置,使其可以在运行时被覆盖以模拟调用者应用程序用户进行hadoopkerberos身份验证。我使用下面的代码创建了一个UserGroupInformation以从kerberoskeytab登录。此UGI将充当真实用户并将其传递给UserGroupInformation类以创建代理用户,如下所示。UserGroupInformationrealUgi=UserG

java - HADOOP HTTPFS : giving error "User: ubuntu is not allowed to impersonate ubuntu" while accessing the application through Http

我在我的集​​群上安装了hadoop1.0.4,有1个主机和3个从机,现在我正在安装HTTPFS(hadoop-hdfs-httpfs-0.20.2-cdh3u5-SNAPSHOT)以使用http协议(protocol)访问HDFS内容,我可以通过它访问正常的页面curl-i"http://myhost:14000"它工作正常:)但是如果我尝试访问HDFS然后它给我错误(ubantu是我的用户):(curl-i"http://myhost:14000/webhdfs/v1?user.name=ubantu&op=OPEN"错误:{"RemoteException":{"message"

c# - 使用模拟在 C# 中(间接)启动进程

我正在开发一个使用Selenium来控制浏览器的应用程序。Selenium在初始化时启动浏览器,因此我从不直接在浏览器的.exe上调用Process.Start。我希望Selenium及其所有子进程在与我的应用程序不同的用户下运行(因为我不希望它访问我的源代码)。使用找到的模拟样本here,我试图用模拟包装Selenium代码,但似乎所有子进程都是由启动其父进程的用户启动的。有谁知道用模拟用户包装一段代码并让所有子进程以模拟用户的权限启动的方法?如果没有,实现这一目标的最佳策略是什么?在另一个进程中运行所有Selenium逻辑并以某种方式将命令传递给它? 最

c++ - 模拟后CreateMutex失败

这是我要模拟用户然后创建互斥量的代码。未创建互斥锁。我收到ERROR_ACCESS_DENIED错误。voidImpersonate(){DWORDlogonType=LOGON32_LOGON_INTERACTIVE;DWORDlogonProvider=LOGON32_PROVIDER_DEFAULT;HANDLEuserToken;HANDLEhMutex;DWORDerr;LPSTRuser="zoom";//theuserIcreatedmyselfonmymachine.//IthasAdministratorprivileges,andmyaccount,//fromwh

windows - 为什么在模拟 session 中定义的 DOS 设备没有出现在资源管理器中

我有一个在本地系统帐户下运行的Windows服务,它使用DefineDosDevice函数创建DOS设备。该服务在W2K8远程桌面服务器上运行。如果设备是使用服务的凭据创建的,则它们是在GLOBAL设备namespace中创建的,因此对所有用户可见。我需要仅对特定交互session可见的设备。我通过模拟我希望驱动器出现在其session中的用户来完成此操作。这非常简单,前提是sessionID可用。这是我编写的一个简单的测试应用程序来说明问题:int_tmain(intargc,_TCHAR*argv[]){BOOLresult=TRUE;if(argc>3&&!wcscmp(argv

c++ - WTSGetActiveConsoleSessionId 返回系统 session

我遇到过一次这个问题,但我仍然不知道如何解决。我有一个windows服务,当服务运行时,它首先需要模拟登录用户(事件用户)来加载保存在用户应用程序数据文件夹中的一些路径和设置。每次新用户登录到Windows时,我使用的代码都能完美运行,除非服务模拟错误并模拟系统session而不是事件session。正如我所说,这只发生过一次,但我真的说不出为什么。这是检查事件session是什么以及模拟是如何完成的:首先,当服务检测到登录事件时,它会通过调用查询事件sessionIDWTSGetActiveConsoleSessionId();然后它通过调用WTSQuerySessionInform