HBASE-24176 user_permission '.*' command failed to show all table permissions (#1499)
* user_permission failed when show table permissions with '.*' argument Signed-off-by: Guangxu Cheng <gxcheng@apache.org>
This commit is contained in:
parent
c2f2553490
commit
35ea4acf48
|
@ -150,7 +150,7 @@ module Hbase
|
|||
if !table_regex.nil? && isNamespace?(table_regex)
|
||||
nsPerm = permission.to_java(org.apache.hadoop.hbase.security.access.NamespacePermission)
|
||||
namespace = nsPerm.getNamespace
|
||||
elsif !table_regex.nil?
|
||||
elsif !table_regex.nil? && isTablePermission?(permission)
|
||||
tblPerm = permission.to_java(org.apache.hadoop.hbase.security.access.TablePermission)
|
||||
namespace = tblPerm.getNamespace
|
||||
table = !tblPerm.getTableName.nil? ? tblPerm.getTableName.getNameAsString : ''
|
||||
|
@ -183,6 +183,10 @@ module Hbase
|
|||
table_name.start_with?('@')
|
||||
end
|
||||
|
||||
def isTablePermission?(permission)
|
||||
permission.java_kind_of?(org.apache.hadoop.hbase.security.access.TablePermission)
|
||||
end
|
||||
|
||||
# Does Namespace exist
|
||||
def namespace_exists?(namespace_name)
|
||||
return !@admin.getNamespaceDescriptor(namespace_name).nil?
|
||||
|
|
|
@ -91,6 +91,15 @@ module Hbase
|
|||
end
|
||||
assert(found_permission, 'Permission for user ' + global_user_name + ' was not found.')
|
||||
|
||||
found_permission = false
|
||||
security_admin.user_permission('.*') do |user, permission|
|
||||
if user == global_user_name
|
||||
assert_match(/WRITE/, permission.to_s)
|
||||
found_permission = true
|
||||
end
|
||||
end
|
||||
assert(found_permission, 'Permission for user ' + global_user_name + ' was not found.')
|
||||
|
||||
found_permission = false
|
||||
security_admin.revoke(global_user_name)
|
||||
security_admin.user_permission do |user, _|
|
||||
|
|
Loading…
Reference in New Issue