KerberosUtil.java 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.primeton.dsp.datarelease.data.bdata;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.apache.hadoop.conf.Configuration;
  4. import org.apache.hadoop.security.UserGroupInformation;
  5. import java.io.IOException;
  6. /**
  7. *
  8. * Kerberos 认证
  9. *
  10. * @author zhaopx
  11. */
  12. @Slf4j
  13. public class KerberosUtil {
  14. /**
  15. * 开始登陆,如果登陆失败抛出 SecurityException
  16. * @param conf
  17. * @param principal
  18. * @param userKeytabFile
  19. * @param krb5File
  20. */
  21. public static void loginKerberos(Configuration conf, String principal, String userKeytabFile, String krb5File) {
  22. System.setProperty("java.security.krb5.conf", krb5File);
  23. try {
  24. UserGroupInformation.setConfiguration(conf);
  25. UserGroupInformation.loginUserFromKeytab(principal, userKeytabFile);
  26. log.info("kerberos 认证成功!");
  27. } catch (IOException e) {
  28. log.error("kerberos 认证失败!", e);
  29. throw new SecurityException("kerberos 认证失败!", e);
  30. }
  31. }
  32. }