You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/07/28 17:34:35 UTC

[shardingsphere] branch master updated: Optimize configuration for privilege provider DATABASE_PERMITTED (#19399)

This is an automated email from the ASF dual-hosted git repository.

jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 63bf3a03a82 Optimize configuration for privilege provider DATABASE_PERMITTED (#19399)
63bf3a03a82 is described below

commit 63bf3a03a8299b2e49d76ea80690c8871d83cc72
Author: Runqi Zhao <40...@users.noreply.github.com>
AuthorDate: Fri Jul 29 01:34:22 2022 +0800

    Optimize configuration for privilege provider DATABASE_PERMITTED (#19399)
    
    * Optimize configuration for privilege provider DATABASE_PERMITTED
    
    * Optimize configuration for privilege provider DATABASE_PERMITTED
    
    * Optimize configuration for privilege provider DATABASE_PERMITTED
    
    * Optimize configuration for privilege provider DATABASE_PERMITTED
    
    * Optimize configuration for privilege provider DATABASE_PERMITTED
---
 .../database/model/privilege/DatabasePermittedPrivileges.java         | 4 +++-
 .../schema/DatabasePermittedPrivilegesProviderAlgorithmTest.java      | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/main/java/org/apache/shardingsphere/authority/provider/database/model/privilege/DatabasePermittedPrivileges.java b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/main/java/org/apache/shardingsphere/authority/provider/database/model/privilege/DatabasePermittedPrivileges.java
index 9bee76f3941..4f6d997acf1 100644
--- a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/main/java/org/apache/shardingsphere/authority/provider/database/model/privilege/DatabasePermittedPrivileges.java
+++ b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/main/java/org/apache/shardingsphere/authority/provider/database/model/privilege/DatabasePermittedPrivileges.java
@@ -32,6 +32,8 @@ import java.util.Set;
 @RequiredArgsConstructor
 public final class DatabasePermittedPrivileges implements ShardingSpherePrivileges {
     
+    private static final String KEY_SUPER = "*";
+    
     private final Set<String> databases;
     
     @Override
@@ -40,7 +42,7 @@ public final class DatabasePermittedPrivileges implements ShardingSpherePrivileg
     
     @Override
     public boolean hasPrivileges(final String database) {
-        return databases.contains(database);
+        return databases.contains(KEY_SUPER) || databases.contains(database);
     }
     
     @Override
diff --git a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/test/java/org/apache/shardingsphere/authority/provider/schema/DatabasePermittedPrivilegesProviderAlgorithmTest.java b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/test/java/org/apache/shardingsphere/authority/provider/schema/DatabasePermittedPrivilegesProviderAlgorithmTest.java
index cf865969683..7b4c0c339e1 100644
--- a/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/test/java/org/apache/shardingsphere/authority/provider/schema/DatabasePermittedPrivilegesProviderAlgorithmTest.java
+++ b/shardingsphere-kernel/shardingsphere-authority/shardingsphere-authority-core/src/test/java/org/apache/shardingsphere/authority/provider/schema/DatabasePermittedPrivilegesProviderAlgorithmTest.java
@@ -41,6 +41,7 @@ public final class DatabasePermittedPrivilegesProviderAlgorithmTest {
         Optional<ShardingSpherePrivileges> privileges = actual.findPrivileges(new Grantee("user1", "127.0.0.2"));
         assertTrue(privileges.isPresent());
         assertTrue(privileges.get().hasPrivileges("test"));
+        assertTrue(privileges.get().hasPrivileges("db_dal_admin"));
     }
     
     private DatabasePermittedPrivilegesProviderAlgorithm createAuthorityProviderAlgorithm() {
@@ -50,7 +51,7 @@ public final class DatabasePermittedPrivilegesProviderAlgorithmTest {
     
     private Properties createProperties() {
         Properties result = new Properties();
-        result.setProperty(DatabasePermittedPrivilegesProviderAlgorithm.PROP_USER_DATABASE_MAPPINGS, "root@localhost=test, user1@127.0.0.1=db_dal_admin, user1@=test, user1@=test1");
+        result.setProperty(DatabasePermittedPrivilegesProviderAlgorithm.PROP_USER_DATABASE_MAPPINGS, "root@localhost=test, user1@127.0.0.1=db_dal_admin, user1@=test, user1@=test1, user1@=*");
         return result;
     }
 }