我有一个Web应用程序,可以接收来自Linux命令行的不同用户发出的其他几个应用程序的请求。对于这些请求中的每一个,我都必须从hdfs中读取数据以调用应用程序文件夹,只有调用应用程序的Linux用户才能访问该文件夹。有没有一种方法可以设置配置,使它可以在运行时被覆盖以模拟 call 者应用程序用户进行spring-hadoop kerberos身份验证。
最佳答案
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 - 在运行时模拟用户进行spring hadoop配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059519/