HBASE-7913 Secure Rest server should login before getting an instance of Rest servlet (Arpit)
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1449264 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
67da069ee6
commit
cb5590dce6
|
@ -79,6 +79,14 @@ public class RESTServer implements Constants {
|
||||||
|
|
||||||
VersionInfo.logVersion();
|
VersionInfo.logVersion();
|
||||||
Configuration conf = HBaseConfiguration.create();
|
Configuration conf = HBaseConfiguration.create();
|
||||||
|
// login the server principal (if using secure Hadoop)
|
||||||
|
if (User.isSecurityEnabled() && User.isHBaseSecurityEnabled(conf)) {
|
||||||
|
String machineName = Strings.domainNamePointerToHostName(
|
||||||
|
DNS.getDefaultHost(conf.get("hbase.rest.dns.interface", "default"),
|
||||||
|
conf.get("hbase.rest.dns.nameserver", "default")));
|
||||||
|
User.login(conf, "hbase.rest.keytab.file", "hbase.rest.kerberos.principal",
|
||||||
|
machineName);
|
||||||
|
}
|
||||||
RESTServlet servlet = RESTServlet.getInstance(conf);
|
RESTServlet servlet = RESTServlet.getInstance(conf);
|
||||||
|
|
||||||
Options options = new Options();
|
Options options = new Options();
|
||||||
|
@ -170,15 +178,6 @@ public class RESTServer implements Constants {
|
||||||
context.addServlet(sh, "/*");
|
context.addServlet(sh, "/*");
|
||||||
context.addFilter(GzipFilter.class, "/*", 0);
|
context.addFilter(GzipFilter.class, "/*", 0);
|
||||||
|
|
||||||
// login the server principal (if using secure Hadoop)
|
|
||||||
if (User.isSecurityEnabled() && User.isHBaseSecurityEnabled(conf)) {
|
|
||||||
String machineName = Strings.domainNamePointerToHostName(
|
|
||||||
DNS.getDefaultHost(conf.get("hbase.rest.dns.interface", "default"),
|
|
||||||
conf.get("hbase.rest.dns.nameserver", "default")));
|
|
||||||
User.login(conf, "hbase.rest.keytab.file", "hbase.rest.kerberos.principal",
|
|
||||||
machineName);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Put up info server.
|
// Put up info server.
|
||||||
int port = conf.getInt("hbase.rest.info.port", 8085);
|
int port = conf.getInt("hbase.rest.info.port", 8085);
|
||||||
if (port >= 0) {
|
if (port >= 0) {
|
||||||
|
|
Loading…
Reference in New Issue