在运行时模拟用户进行 spring hadoop 配置

Posted

技术标签:

【中文标题】在运行时模拟用户进行 spring hadoop 配置【英文标题】:impersonate a user at runtime for spring hadoop configuration 【发布时间】:2013-11-18 22:40:48 【问题描述】:

我有一个 Web 应用程序,它接收来自不同用户的从 linux 命令行运行的其他几个应用程序的请求。对于这些请求中的每一个,我都必须从 hdfs 读取数据以调用只有调用应用程序 linux 用户才能访问的应用程序文件夹。有没有一种方法可以设置配置,使其可以在运行时被覆盖,以模拟调用者应用程序用户进行 spring-hadoop kerberos 身份验证。

【问题讨论】:

【参考方案1】:
UserGroupInformation ugi = UserGroupInformation.createProxyUser("user", UserGroupInformation.getLoginUser());
    ugi.doAs(new PrivilegedExceptionAction<Void>() 
        @Override
        public Void run() throws Exception 
            fsh.cp(file.getSourceFilePath(), destPathWithFileName);
            return null;
        
    ); 

【讨论】:

以上是关于在运行时模拟用户进行 spring hadoop 配置的主要内容,如果未能解决你的问题,请参考以下文章

假冒Hadoop用户

模拟Spring如何在WEB中运行

如何在运行时将新用户添加到 Spring Security

单元测试在测试spring集成TCP组件时创建名为“amqAdmin”的bean时出错

Hadoop-2.2.0中文文档—— Common - 超级用户模拟别的用户

Spring启动在集成测试中使用PowerMock模拟静态方法