You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/07/31 14:49:53 UTC

[14/30] hbase-site git commit: Published site at a8e184dc77470bdf9d62e19c5d36bc1de7cf4c6d.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html b/devapidocs/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html
index 79f9b25..fe18026 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":9,"i5":10,"i6":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":10,"i7":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.261">User.SecureHadoopUser</a>
+public static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.295">User.SecureHadoopUser</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></pre>
 <div class="block">Bridges <code>User</code> invocations to underlying calls to
  <code>UserGroupInformation</code> for secure Hadoop
@@ -247,12 +247,19 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 </td>
 </tr>
 <tr id="i5" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#login-java.lang.String-java.lang.String-">login</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keytabLocation,
+     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalName)</code>
+<div class="block">Login through configured keytab and pricipal.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#runAs-java.security.PrivilegedAction-">runAs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</code>
 <div class="block">Executes the given action within the context of this user.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#runAs-java.security.PrivilegedExceptionAction-">runAs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)</code>
 <div class="block">Executes the given action within the context of this user.</div>
@@ -264,7 +271,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#addToken-org.apache.hadoop.security.token.Token-">addToken</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#create-org.apache.hadoop.security.UserGroupInformation-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getCurrent--">getCurrent</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getName--">getName</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getToken-java.lang.String-java.lang.String-">getToken</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getTokens--">getTokens</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getUGI--">getUGI</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#hashCode--">hashCode</a>, <a href="../../../../../org/
 apache/hadoop/hbase/security/User.html#isHBaseSecurityEnabled-org.apache.hadoop.conf.Configuration-">isHBaseSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAsLoginUser-java.security.PrivilegedExceptionAction-">runAsLoginUser</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#addToken-org.apache.hadoop.security.token.Token-">addToken</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#create-org.apache.hadoop.security.UserGroupInformation-">create</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getCurrent--">getCurrent</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getName--">getName</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getToken-java.lang.String-java.lang.String-">getToken</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getTokens--">getTokens</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#getUGI--">getUGI</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#hashCode--">hashCode</a>, <a href="../../../../../org/
 apache/hadoop/hbase/security/User.html#isHBaseSecurityEnabled-org.apache.hadoop.conf.Configuration-">isHBaseSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#isLoginFromKeytab--">isLoginFromKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAsLoginUser-java.security.PrivilegedExceptionAction-">runAsLoginUser</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#shouldLoginFromKeytab-org.apache.hadoop.conf.Configuration-">shouldLoginFromKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/User.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -293,7 +300,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>shortName</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.262">shortName</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.296">shortName</a></pre>
 </li>
 </ul>
 <a name="cache">
@@ -302,7 +309,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cache</h4>
-<pre>private&nbsp;org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.263">cache</a></pre>
+<pre>private&nbsp;org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.297">cache</a></pre>
 </li>
 </ul>
 </li>
@@ -319,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>SecureHadoopUser</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.265">SecureHadoopUser</a>()
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.299">SecureHadoopUser</a>()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -333,7 +340,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>SecureHadoopUser</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.270">SecureHadoopUser</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.304">SecureHadoopUser</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
 </li>
 </ul>
 <a name="SecureHadoopUser-org.apache.hadoop.security.UserGroupInformation-org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache-">
@@ -342,7 +349,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SecureHadoopUser</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.275">SecureHadoopUser</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.309">SecureHadoopUser</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
                         org.apache.hbase.thirdparty.com.google.common.cache.LoadingCache&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&gt;&nbsp;cache)</pre>
 </li>
 </ul>
@@ -360,7 +367,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.282">getShortName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.316">getShortName</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#getShortName--">User</a></code></span></div>
 <div class="block">Returns the shortened version of the user name -- the portion that maps
  to an operating system user name.</div>
@@ -378,7 +385,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>getGroupNames</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.294">getGroupNames</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.328">getGroupNames</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#getGroupNames--">User</a></code></span></div>
 <div class="block">Returns the list of groups of which this user is a member.  On secure
  Hadoop this returns the group information for the user as resolved on the
@@ -395,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>runAs</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.306">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.340">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAs-java.security.PrivilegedAction-">User</a></code></span></div>
 <div class="block">Executes the given action within the context of this user.</div>
 <dl>
@@ -410,7 +417,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>runAs</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.311">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.345">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAs-java.security.PrivilegedExceptionAction-">User</a></code></span></div>
@@ -430,7 +437,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>createUserForTesting</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.317">createUserForTesting</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.351">createUserForTesting</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups)</pre>
 <dl>
@@ -445,7 +452,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 <ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.341">login</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.375">login</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localhost)
@@ -467,13 +474,32 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/User.html" titl
 </dl>
 </li>
 </ul>
+<a name="login-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>login</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.388">login</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keytabLocation,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalName)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Login through configured keytab and pricipal.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keytabLocation</code> - location of keytab</dd>
+<dd><code>principalName</code> - principal in keytab</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - exception from UserGroupInformation.loginUserFromKeytab</dd>
+</dl>
+</li>
+</ul>
 <a name="isSecurityEnabled--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isSecurityEnabled</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.351">isSecurityEnabled</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.SecureHadoopUser.html#line.398">isSecurityEnabled</a>()</pre>
 <div class="block">Returns the result of <code>UserGroupInformation.isSecurityEnabled()</code>.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/User.TestingGroups.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/User.TestingGroups.html b/devapidocs/org/apache/hadoop/hbase/security/User.TestingGroups.html
index 87b1b11..89a81fe 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/User.TestingGroups.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/User.TestingGroups.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.356">User.TestingGroups</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.403">User.TestingGroups</a>
 extends org.apache.hadoop.security.Groups</pre>
 </li>
 </ul>
@@ -222,7 +222,7 @@ extends org.apache.hadoop.security.Groups</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>userToGroupsMapping</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.357">userToGroupsMapping</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.404">userToGroupsMapping</a></pre>
 </li>
 </ul>
 <a name="underlyingImplementation">
@@ -231,7 +231,7 @@ extends org.apache.hadoop.security.Groups</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>underlyingImplementation</h4>
-<pre>private&nbsp;org.apache.hadoop.security.Groups <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.358">underlyingImplementation</a></pre>
+<pre>private&nbsp;org.apache.hadoop.security.Groups <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.405">underlyingImplementation</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends org.apache.hadoop.security.Groups</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestingGroups</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.360">TestingGroups</a>(org.apache.hadoop.security.Groups&nbsp;underlyingImplementation)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.407">TestingGroups</a>(org.apache.hadoop.security.Groups&nbsp;underlyingImplementation)</pre>
 </li>
 </ul>
 </li>
@@ -265,7 +265,7 @@ extends org.apache.hadoop.security.Groups</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getGroups</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.366">getGroups</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.413">getGroups</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -281,7 +281,7 @@ extends org.apache.hadoop.security.Groups</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setUserGroups</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.376">setUserGroups</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.TestingGroups.html#line.423">setUserGroups</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/User.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/User.html b/devapidocs/org/apache/hadoop/hbase/security/User.html
index 522ca4d..ee28692 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/User.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/User.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":9,"i5":10,"i6":10,"i7":6,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":9,"i14":9,"i15":6,"i16":6,"i17":9,"i18":10};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":9,"i5":10,"i6":10,"i7":6,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":9,"i15":9,"i16":9,"i17":6,"i18":6,"i19":9,"i20":9,"i21":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.55">User</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.57">User</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Wrapper to abstract out usage of user and group information in HBase.
 
@@ -292,12 +292,16 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </td>
 </tr>
 <tr id="i13" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#isLoginFromKeytab--">isLoginFromKeytab</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#isSecurityEnabled--">isSecurityEnabled</a></span>()</code>
 <div class="block">Returns whether or not Kerberos authentication is configured for Hadoop.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#login-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-java.lang.String-">login</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
@@ -307,25 +311,39 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  credential file and login principal.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#login-java.lang.String-java.lang.String-">login</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keytabLocation,
+     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pricipalName)</code>
+<div class="block">Login with the given keytab and principal.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>abstract &lt;T&gt;&nbsp;T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAs-java.security.PrivilegedAction-">runAs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</code>
 <div class="block">Executes the given action within the context of this user.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>abstract &lt;T&gt;&nbsp;T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAs-java.security.PrivilegedExceptionAction-">runAs</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)</code>
 <div class="block">Executes the given action within the context of this user.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#runAsLoginUser-java.security.PrivilegedExceptionAction-">runAsLoginUser</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)</code>
 <div class="block">Executes the given action as the login user</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#shouldLoginFromKeytab-org.apache.hadoop.conf.Configuration-">shouldLoginFromKeytab</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">In secure environment, if a user specified his keytab and principal,
+ a hbase client will try to login with them.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/User.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -357,7 +375,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SECURITY_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.56">HBASE_SECURITY_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.58">HBASE_SECURITY_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.User.HBASE_SECURITY_CONF_KEY">Constant Field Values</a></dd>
@@ -370,7 +388,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SECURITY_AUTHORIZATION_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.58">HBASE_SECURITY_AUTHORIZATION_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.60">HBASE_SECURITY_AUTHORIZATION_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.User.HBASE_SECURITY_AUTHORIZATION_CONF_KEY">Constant Field Values</a></dd>
@@ -383,7 +401,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ugi</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.61">ugi</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.63">ugi</a></pre>
 </li>
 </ul>
 </li>
@@ -400,7 +418,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>User</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.55">User</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.57">User</a>()</pre>
 </li>
 </ul>
 </li>
@@ -417,7 +435,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getUGI</h4>
-<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.63">getUGI</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.65">getUGI</a>()</pre>
 </li>
 </ul>
 <a name="getName--">
@@ -426,7 +444,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.73">getName</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.75">getName</a>()</pre>
 <div class="block">Returns the full user name.  For Kerberos principals this will include
  the host and realm portions of the principal name.</div>
 <dl>
@@ -441,7 +459,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getGroupNames</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.82">getGroupNames</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.84">getGroupNames</a>()</pre>
 <div class="block">Returns the list of groups of which this user is a member.  On secure
  Hadoop this returns the group information for the user as resolved on the
  server.  For 0.20 based Hadoop, the group names are passed from the client.</div>
@@ -453,7 +471,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortName</h4>
-<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.92">getShortName</a>()</pre>
+<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.94">getShortName</a>()</pre>
 <div class="block">Returns the shortened version of the user name -- the portion that maps
  to an operating system user name.</div>
 <dl>
@@ -468,7 +486,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>runAs</h4>
-<pre>public abstract&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.97">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</pre>
+<pre>public abstract&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.99">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedAction.html?is-external=true" title="class or interface in java.security">PrivilegedAction</a>&lt;T&gt;&nbsp;action)</pre>
 <div class="block">Executes the given action within the context of this user.</div>
 </li>
 </ul>
@@ -478,7 +496,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>runAs</h4>
-<pre>public abstract&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.102">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
+<pre>public abstract&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.104">runAs</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Executes the given action within the context of this user.</div>
@@ -495,7 +513,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getToken</h4>
-<pre>public&nbsp;org.apache.hadoop.security.token.Token&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.113">getToken</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;kind,
+<pre>public&nbsp;org.apache.hadoop.security.token.Token&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.115">getToken</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;kind,
                                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;service)
                                                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the Token of the specified kind associated with this user,
@@ -517,7 +535,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTokens</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.126">getTokens</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.128">getTokens</a>()</pre>
 <div class="block">Returns all the tokens stored in the user's credentials.</div>
 </li>
 </ul>
@@ -527,7 +545,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addToken</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.135">addToken</a>(org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.137">addToken</a>(org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token)</pre>
 <div class="block">Adds the given Token to the user's credentials.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -535,13 +553,26 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="isLoginFromKeytab--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isLoginFromKeytab</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.144">isLoginFromKeytab</a>()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if user credentials are obtained from keytab.</dd>
+</dl>
+</li>
+</ul>
 <a name="equals-java.lang.Object-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.140">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.149">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -554,7 +585,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.151">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.160">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -567,7 +598,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.156">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.165">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -580,7 +611,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrent</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.163">getCurrent</a>()
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.172">getCurrent</a>()
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns the <code>User</code> instance within current execution context.</div>
 <dl>
@@ -595,7 +626,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>runAsLoginUser</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.178">runAsLoginUser</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
+<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.187">runAsLoginUser</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/security/PrivilegedExceptionAction.html?is-external=true" title="class or interface in java.security">PrivilegedExceptionAction</a>&lt;T&gt;&nbsp;action)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Executes the given action as the login user</div>
 <dl>
@@ -614,7 +645,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.194">create</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.203">create</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
 <div class="block">Wraps an underlying <code>UserGroupInformation</code> instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -630,7 +661,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createUserForTesting</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.207">createUserForTesting</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.216">createUserForTesting</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;groups)</pre>
 <div class="block">Generates a new <code>User</code> instance specifically for use in test code.</div>
@@ -649,7 +680,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.229">login</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.238">login</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localhost)
@@ -673,13 +704,32 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </dl>
 </li>
 </ul>
+<a name="login-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>login</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.249">login</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;keytabLocation,
+                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pricipalName)
+                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Login with the given keytab and principal.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keytabLocation</code> - path of keytab</dd>
+<dd><code>pricipalName</code> - login principal</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - underlying exception from UserGroupInformation.loginUserFromKeytab</dd>
+</dl>
+</li>
+</ul>
 <a name="isSecurityEnabled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isSecurityEnabled</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.240">isSecurityEnabled</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.259">isSecurityEnabled</a>()</pre>
 <div class="block">Returns whether or not Kerberos authentication is configured for Hadoop.
  For non-secure Hadoop, this always returns <code>false</code>.
  For secure Hadoop, it will return the value from
@@ -689,15 +739,33 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="isHBaseSecurityEnabled-org.apache.hadoop.conf.Configuration-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isHBaseSecurityEnabled</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.249">isHBaseSecurityEnabled</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.268">isHBaseSecurityEnabled</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Returns whether or not secure authentication is enabled for HBase. Note that
  HBase security requires HDFS security to provide any guarantees, so it is
  recommended that secure HBase should run on secure HDFS.</div>
 </li>
 </ul>
+<a name="shouldLoginFromKeytab-org.apache.hadoop.conf.Configuration-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>shouldLoginFromKeytab</h4>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/User.html#line.279">shouldLoginFromKeytab</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<div class="block">In secure environment, if a user specified his keytab and principal,
+ a hbase client will try to login with them. Otherwise, hbase client will try to obtain
+ ticket(through kinit) from system.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conf</code> - configuration file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if keytab and principal are configured</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/UserProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/UserProvider.html b/devapidocs/org/apache/hadoop/hbase/security/UserProvider.html
index 0d603ab..91c57e4 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/UserProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/UserProvider.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -219,6 +219,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html#login-java.lang.String-java.lang.String-">login</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
+     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey)</code>
+<div class="block">Login with given keytab and principal.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html#login-java.lang.String-java.lang.String-java.lang.String-">login</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey,
      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localhost)</code>
@@ -226,17 +233,24 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
  principal.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html#setConf-org.apache.hadoop.conf.Configuration-">setConf</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html#setUserProviderForTesting-org.apache.hadoop.conf.Configuration-java.lang.Class-">setUserProviderForTesting</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&gt;&nbsp;provider)</code>
 <div class="block">Set the <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security"><code>UserProvider</code></a> in the given configuration that should be instantiated</div>
 </td>
 </tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html#shouldLoginFromKeytab--">shouldLoginFromKeytab</a></span>()</code>
+<div class="block">In secure environment, if a user specified his keytab and principal,
+ a hbase client will try to login with them.</div>
+</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.BaseConfigurable">
@@ -423,13 +437,25 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
 </dl>
 </li>
 </ul>
+<a name="shouldLoginFromKeytab--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldLoginFromKeytab</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.168">shouldLoginFromKeytab</a>()</pre>
+<div class="block">In secure environment, if a user specified his keytab and principal,
+ a hbase client will try to login with them. Otherwise, hbase client will try to obtain
+ ticket(through kinit) from system.</div>
+</li>
+</ul>
 <a name="getCurrent--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrent</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.167">getCurrent</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.176">getCurrent</a>()
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -445,7 +471,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.176">create</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.185">create</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;ugi)</pre>
 <div class="block">Wraps an underlying <code>UserGroupInformation</code> instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -458,15 +484,16 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
 <a name="login-java.lang.String-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>login</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.196">login</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.206">login</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localhost)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Log in the current process using the given configuration keys for the credential file and login
- principal.
+ principal. It is for SPN(Service Principal Name) login. SPN should be this format,
+ servicename/fully.qualified.domain.name@REALM.
  <p>
  <strong>This is only applicable when running on secure Hadoop</strong> -- see
  org.apache.hadoop.security.SecurityUtil#login(Configuration,String,String,String). On regular
@@ -482,6 +509,26 @@ extends <a href="../../../../../org/apache/hadoop/hbase/BaseConfigurable.html" t
 </dl>
 </li>
 </ul>
+<a name="login-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>login</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/UserProvider.html#line.218">login</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fileConfKey,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;principalConfKey)
+           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Login with given keytab and principal. This can be used for both SPN(Service Principal Name)
+ and UPN(User Principal Name) which format should be clientname@REALM.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileConfKey</code> - config name for client keytab</dd>
+<dd><code>principalConfKey</code> - config name for client principal</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - underlying exception from UserGroupInformation.loginUserFromKeytab</dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
index 0d4e210..2ecf7ba 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessChecker.InputUser.html
@@ -247,7 +247,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" t
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></h3>
-<code><a href="../../../../../../org/apache/hadoop/hbase/security/User.html#addToken-org.apache.hadoop.security.token.Token-">addToken</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#create-org.apache.hadoop.security.UserGroupInformation-">create</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#createUserForTesting-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String:A-">createUserForTesting</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getCurrent--">getCurrent</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getToken-java.lang.String-java.lang.String-">getToken</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getTokens--">getTokens</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getUGI--">getUGI</a>,
  <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#hashCode--">hashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#isHBaseSecurityEnabled-org.apache.hadoop.conf.Configuration-">isHBaseSecurityEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#isSecurityEnabled--">isSecurityEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#login-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-java.lang.String-">login</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#runAsLoginUser-java.security.PrivilegedExceptionAction-">runAsLoginUser</a></code></li>
+<code><a href="../../../../../../org/apache/hadoop/hbase/security/User.html#addToken-org.apache.hadoop.security.token.Token-">addToken</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#create-org.apache.hadoop.security.UserGroupInformation-">create</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#createUserForTesting-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String:A-">createUserForTesting</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getCurrent--">getCurrent</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getToken-java.lang.String-java.lang.String-">getToken</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getTokens--">getTokens</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#getUGI--">getUGI</a>,
  <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#hashCode--">hashCode</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#isHBaseSecurityEnabled-org.apache.hadoop.conf.Configuration-">isHBaseSecurityEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#isLoginFromKeytab--">isLoginFromKeytab</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#isSecurityEnabled--">isSecurityEnabled</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#login-org.apache.hadoop.conf.Configuration-java.lang.String-java.lang.String-java.lang.String-">login</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#login-java.lang.String-java.lang.String-">login</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.html#runAsLoginUser-java.security.PrivilegedExceptionAction-">runAsLoginUser</a>, <a href="../../../../../../org/apache/hadoop/hbase/security/User.
 html#shouldLoginFromKeytab-org.apache.hadoop.conf.Configuration-">shouldLoginFromKeytab</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index f594c43..69f2dc6 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -143,8 +143,8 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
index 0b92a31..66507a0 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/User.html
@@ -182,6 +182,35 @@
 </a>
 <h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> that return <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AuthUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/AuthUtil.html#loginClient-org.apache.hadoop.conf.Configuration-">loginClient</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">For kerberized cluster, return login user (from kinit or from keytab if specified).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AuthUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/AuthUtil.html#loginClientAsService-org.apache.hadoop.conf.Configuration-">loginClientAsService</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<div class="block">For kerberized cluster, return login user (from kinit or from keytab).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AuthUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/AuthUtil.html#loginFromKeytabAndReturnUser-org.apache.hadoop.hbase.security.UserProvider-">loginFromKeytabAndReturnUser</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;provider)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/class-use/UserProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/UserProvider.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/UserProvider.html
index c422d30..f68af3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/UserProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/UserProvider.html
@@ -83,70 +83,74 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase">org.apache.hadoop.hbase</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.coprocessor">org.apache.hadoop.hbase.coprocessor</a></td>
 <td class="colLast">
 <div class="block">Table of Contents</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.ipc">org.apache.hadoop.hbase.ipc</a></td>
 <td class="colLast">
 <div class="block">Tools to help define network clients and servers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.master">org.apache.hadoop.hbase.master</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.rest">org.apache.hadoop.hbase.rest</a></td>
 <td class="colLast">
 <div class="block">HBase REST</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.rsgroup">org.apache.hadoop.hbase.rsgroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.security">org.apache.hadoop.hbase.security</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.security.access">org.apache.hadoop.hbase.security.access</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.security.token">org.apache.hadoop.hbase.security.token</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.thrift">org.apache.hadoop.hbase.thrift</a></td>
 <td class="colLast">
 <div class="block">Provides an HBase <a href="http://incubator.apache.org/thrift/">Thrift</a>
 service.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.thrift2">org.apache.hadoop.hbase.thrift2</a></td>
 <td class="colLast">
 <div class="block">Provides an HBase <a href="http://thrift.apache.org/">Thrift</a>
 service.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.tool">org.apache.hadoop.hbase.tool</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.util">org.apache.hadoop.hbase.util</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -155,6 +159,26 @@ service.</div>
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AuthUtil.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/AuthUtil.html#loginFromKeytabAndReturnUser-org.apache.hadoop.hbase.security.UserProvider-">loginFromKeytabAndReturnUser</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a>&nbsp;provider)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.coprocessor">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index dfa02b5..29d7634 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -192,8 +192,8 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/5fd895c6/devapidocs/org/apache/hadoop/hbase/security/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-use.html b/devapidocs/org/apache/hadoop/hbase/security/package-use.html
index 0aa2eb5..5fcdd3d 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-use.html
@@ -217,6 +217,11 @@ service.</div>
 <div class="block">Wrapper to abstract out usage of user and group information in HBase.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/UserProvider.html#org.apache.hadoop.hbase">UserProvider</a>
+<div class="block">Provide an instance of a user.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>