我有一个Web应用程序,它接收来自不同用户的从linux命令行运行的其他几个应用程序的请求。对于这些请求中的每一个,我必须从hdfs读取数据以调用应用程序文件夹,该文件夹只有调用应用程序linux用户才能访问。有没有办法可以设置配置,以便在运行时可以覆盖调用者应用程序用户进行spring-hadoop kerberos身份验证。
答案 0 :(得分:0)
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;
}
});