diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java index ac41871a15..4d947837f3 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/AccessAPI.java @@ -71,8 +71,8 @@ public String create(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeAccess access = jsonAccess.build(); - access.id(manager.userManager().createAccess(access)); - return manager.serializer(g).writeUserElement(access); + access.id(manager.authManager().createAccess(access)); + return manager.serializer(g).writeAuthElement(access); } @PUT @@ -90,13 +90,13 @@ public String update(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeAccess access; try { - access = manager.userManager().getAccess(UserAPI.parseId(id)); + access = manager.authManager().getAccess(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid access id: " + id); } access = jsonAccess.build(access); - manager.userManager().updateAccess(access); - return manager.serializer(g).writeUserElement(access); + manager.authManager().updateAccess(access); + return manager.serializer(g).writeAuthElement(access); } @GET @@ -116,14 +116,14 @@ public String list(@Context GraphManager manager, List belongs; if (group != null) { Id id = UserAPI.parseId(group); - belongs = manager.userManager().listAccessByGroup(id, limit); + belongs = manager.authManager().listAccessByGroup(id, limit); } else if (target != null) { Id id = UserAPI.parseId(target); - belongs = manager.userManager().listAccessByTarget(id, limit); + belongs = manager.authManager().listAccessByTarget(id, limit); } else { - belongs = manager.userManager().listAllAccess(limit); + belongs = manager.authManager().listAllAccess(limit); } - return manager.serializer(g).writeUserElements("accesses", belongs); + return manager.serializer(g).writeAuthElements("accesses", belongs); } @GET @@ -136,8 +136,8 @@ public String get(@Context GraphManager manager, LOG.debug("Graph [{}] get access: {}", graph, id); HugeGraph g = graph(manager, graph); - HugeAccess access = manager.userManager().getAccess(UserAPI.parseId(id)); - return manager.serializer(g).writeUserElement(access); + HugeAccess access = manager.authManager().getAccess(UserAPI.parseId(id)); + return manager.serializer(g).writeAuthElement(access); } @DELETE @@ -152,7 +152,7 @@ public void delete(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); try { - manager.userManager().deleteAccess(UserAPI.parseId(id)); + manager.authManager().deleteAccess(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid access id: " + id); } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java index 8aa02ef06c..634bade2da 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/BelongAPI.java @@ -70,8 +70,8 @@ public String create(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeBelong belong = jsonBelong.build(); - belong.id(manager.userManager().createBelong(belong)); - return manager.serializer(g).writeUserElement(belong); + belong.id(manager.authManager().createBelong(belong)); + return manager.serializer(g).writeAuthElement(belong); } @PUT @@ -89,13 +89,13 @@ public String update(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeBelong belong; try { - belong = manager.userManager().getBelong(UserAPI.parseId(id)); + belong = manager.authManager().getBelong(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid belong id: " + id); } belong = jsonBelong.build(belong); - manager.userManager().updateBelong(belong); - return manager.serializer(g).writeUserElement(belong); + manager.authManager().updateBelong(belong); + return manager.serializer(g).writeAuthElement(belong); } @GET @@ -115,14 +115,14 @@ public String list(@Context GraphManager manager, List belongs; if (user != null) { Id id = UserAPI.parseId(user); - belongs = manager.userManager().listBelongByUser(id, limit); + belongs = manager.authManager().listBelongByUser(id, limit); } else if (group != null) { Id id = UserAPI.parseId(group); - belongs = manager.userManager().listBelongByGroup(id, limit); + belongs = manager.authManager().listBelongByGroup(id, limit); } else { - belongs = manager.userManager().listAllBelong(limit); + belongs = manager.authManager().listAllBelong(limit); } - return manager.serializer(g).writeUserElements("belongs", belongs); + return manager.serializer(g).writeAuthElements("belongs", belongs); } @GET @@ -135,8 +135,8 @@ public String get(@Context GraphManager manager, LOG.debug("Graph [{}] get belong: {}", graph, id); HugeGraph g = graph(manager, graph); - HugeBelong belong = manager.userManager().getBelong(UserAPI.parseId(id)); - return manager.serializer(g).writeUserElement(belong); + HugeBelong belong = manager.authManager().getBelong(UserAPI.parseId(id)); + return manager.serializer(g).writeAuthElement(belong); } @DELETE @@ -151,7 +151,7 @@ public void delete(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); try { - manager.userManager().deleteBelong(UserAPI.parseId(id)); + manager.authManager().deleteBelong(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid belong id: " + id); } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java index 262ee00e10..e884c544ce 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/GroupAPI.java @@ -70,8 +70,8 @@ public String create(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeGroup group = jsonGroup.build(); - group.id(manager.userManager().createGroup(group)); - return manager.serializer(g).writeUserElement(group); + group.id(manager.authManager().createGroup(group)); + return manager.serializer(g).writeAuthElement(group); } @PUT @@ -89,13 +89,13 @@ public String update(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeGroup group; try { - group = manager.userManager().getGroup(UserAPI.parseId(id)); + group = manager.authManager().getGroup(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid group id: " + id); } group = jsonGroup.build(group); - manager.userManager().updateGroup(group); - return manager.serializer(g).writeUserElement(group); + manager.authManager().updateGroup(group); + return manager.serializer(g).writeAuthElement(group); } @GET @@ -107,8 +107,8 @@ public String list(@Context GraphManager manager, LOG.debug("Graph [{}] list groups", graph); HugeGraph g = graph(manager, graph); - List groups = manager.userManager().listAllGroups(limit); - return manager.serializer(g).writeUserElements("groups", groups); + List groups = manager.authManager().listAllGroups(limit); + return manager.serializer(g).writeAuthElements("groups", groups); } @GET @@ -121,8 +121,8 @@ public String get(@Context GraphManager manager, LOG.debug("Graph [{}] get group: {}", graph, id); HugeGraph g = graph(manager, graph); - HugeGroup group = manager.userManager().getGroup(IdGenerator.of(id)); - return manager.serializer(g).writeUserElement(group); + HugeGroup group = manager.authManager().getGroup(IdGenerator.of(id)); + return manager.serializer(g).writeAuthElement(group); } @DELETE @@ -137,7 +137,7 @@ public void delete(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); try { - manager.userManager().deleteGroup(IdGenerator.of(id)); + manager.authManager().deleteGroup(IdGenerator.of(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid group id: " + id); } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java index 47ea5e710f..04c1181522 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/TargetAPI.java @@ -71,8 +71,8 @@ public String create(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeTarget target = jsonTarget.build(); - target.id(manager.userManager().createTarget(target)); - return manager.serializer(g).writeUserElement(target); + target.id(manager.authManager().createTarget(target)); + return manager.serializer(g).writeAuthElement(target); } @PUT @@ -90,13 +90,13 @@ public String update(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeTarget target; try { - target = manager.userManager().getTarget(UserAPI.parseId(id)); + target = manager.authManager().getTarget(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid target id: " + id); } target = jsonTarget.build(target); - manager.userManager().updateTarget(target); - return manager.serializer(g).writeUserElement(target); + manager.authManager().updateTarget(target); + return manager.serializer(g).writeAuthElement(target); } @GET @@ -108,8 +108,8 @@ public String list(@Context GraphManager manager, LOG.debug("Graph [{}] list targets", graph); HugeGraph g = graph(manager, graph); - List targets = manager.userManager().listAllTargets(limit); - return manager.serializer(g).writeUserElements("targets", targets); + List targets = manager.authManager().listAllTargets(limit); + return manager.serializer(g).writeAuthElements("targets", targets); } @GET @@ -122,8 +122,8 @@ public String get(@Context GraphManager manager, LOG.debug("Graph [{}] get target: {}", graph, id); HugeGraph g = graph(manager, graph); - HugeTarget target = manager.userManager().getTarget(UserAPI.parseId(id)); - return manager.serializer(g).writeUserElement(target); + HugeTarget target = manager.authManager().getTarget(UserAPI.parseId(id)); + return manager.serializer(g).writeAuthElement(target); } @DELETE @@ -138,7 +138,7 @@ public void delete(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); try { - manager.userManager().deleteTarget(UserAPI.parseId(id)); + manager.authManager().deleteTarget(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid target id: " + id); } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java index 5199a79fa1..eca1ba9b9d 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/api/auth/UserAPI.java @@ -72,8 +72,8 @@ public String create(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeUser user = jsonUser.build(); - user.id(manager.userManager().createUser(user)); - return manager.serializer(g).writeUserElement(user); + user.id(manager.authManager().createUser(user)); + return manager.serializer(g).writeAuthElement(user); } @PUT @@ -91,13 +91,13 @@ public String update(@Context GraphManager manager, HugeGraph g = graph(manager, graph); HugeUser user; try { - user = manager.userManager().getUser(UserAPI.parseId(id)); + user = manager.authManager().getUser(UserAPI.parseId(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid user id: " + id); } user = jsonUser.build(user); - manager.userManager().updateUser(user); - return manager.serializer(g).writeUserElement(user); + manager.authManager().updateUser(user); + return manager.serializer(g).writeAuthElement(user); } @GET @@ -109,8 +109,8 @@ public String list(@Context GraphManager manager, LOG.debug("Graph [{}] list users", graph); HugeGraph g = graph(manager, graph); - List users = manager.userManager().listAllUsers(limit); - return manager.serializer(g).writeUserElements("users", users); + List users = manager.authManager().listAllUsers(limit); + return manager.serializer(g).writeAuthElements("users", users); } @GET @@ -123,8 +123,8 @@ public String get(@Context GraphManager manager, LOG.debug("Graph [{}] get user: {}", graph, id); HugeGraph g = graph(manager, graph); - HugeUser user = manager.userManager().getUser(IdGenerator.of(id)); - return manager.serializer(g).writeUserElement(user); + HugeUser user = manager.authManager().getUser(IdGenerator.of(id)); + return manager.serializer(g).writeAuthElement(user); } @GET @@ -138,8 +138,8 @@ public String role(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); - HugeUser user = manager.userManager().getUser(IdGenerator.of(id)); - return manager.userManager().rolePermission(user).toJson(); + HugeUser user = manager.authManager().getUser(IdGenerator.of(id)); + return manager.authManager().rolePermission(user).toJson(); } @DELETE @@ -154,7 +154,7 @@ public void delete(@Context GraphManager manager, @SuppressWarnings("unused") // just check if the graph exists HugeGraph g = graph(manager, graph); try { - manager.userManager().deleteUser(IdGenerator.of(id)); + manager.authManager().deleteUser(IdGenerator.of(id)); } catch (NotFoundException e) { throw new IllegalArgumentException("Invalid user id: " + id); } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/ConfigAuthenticator.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/ConfigAuthenticator.java index 4b585f47b7..18529fa244 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/ConfigAuthenticator.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/ConfigAuthenticator.java @@ -80,8 +80,8 @@ public RolePermission authenticate(final String username, } @Override - public UserManager userManager() { - throw new NotImplementedException("UserManager is unsupported"); + public AuthManager authManager() { + throw new NotImplementedException("AuthManager is unsupported"); } @Override diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeAuthenticator.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeAuthenticator.java index 3812c192ea..cd72272f04 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeAuthenticator.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeAuthenticator.java @@ -31,7 +31,7 @@ import com.baidu.hugegraph.HugeException; import com.baidu.hugegraph.auth.HugeGraphAuthProxy.Context; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.config.HugeConfig; import com.baidu.hugegraph.config.OptionSpace; import com.baidu.hugegraph.config.ServerOptions; @@ -64,7 +64,7 @@ public interface HugeAuthenticator extends Authenticator { public void setup(HugeConfig config); public RolePermission authenticate(String username, String password); - public UserManager userManager(); + public AuthManager authManager(); @Override public default void setup(final Map config) { @@ -378,7 +378,7 @@ public static boolean match(Object role, RolePermission grant, } if (resourceObject != null) { - UserElement element = (UserElement) resourceObject.operated(); + AuthElement element = (AuthElement) resourceObject.operated(); if (element instanceof HugeUser && ((HugeUser) element).name().equals(USER_ADMIN)) { // Can't access admin by other users diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeFactoryAuthProxy.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeFactoryAuthProxy.java index b5e979375c..fb81867829 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeFactoryAuthProxy.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeFactoryAuthProxy.java @@ -107,10 +107,10 @@ private static void registerPrivateActions() { Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.HugeFactoryAuthProxy.class, "genRegisterPrivateActions", "registerClass", "registerPrivateActions", "registerPrivateActions", "c"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeAuthenticator.User.class, "role", "client"); Reflection.registerFieldsToFilter(org.apache.tinkerpop.gremlin.server.auth.AuthenticatedUser.class, "name"); - Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.class, "LOG", "hugegraph", "taskScheduler", "userManager", "contexts", "$assertionsDisabled"); + Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.class, "LOG", "hugegraph", "taskScheduler", "authManager", "contexts", "$assertionsDisabled"); Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.class, "lambda$0", "access$3", "access$4", "access$2", "access$5", "resetContext", "logUser", "verifyAdminPermission", "verifyStatusPermission", "verifyPermission", "verifySchemaPermission", "verifySchemaPermission", "verifySchemaPermission", "verifySchemaPermission", "verifyNamePermission", "verifyNameExistsPermission", "verifyElemPermission", "verifyElemPermission", "verifyElemPermission", "verifyElemPermission", "verifyResPermission", "verifyResPermission", "verifyUserPermission", "verifyUserPermission", "verifyUserPermission", "getContextString", "access$6", "access$7", "lambda$1", "lambda$2", "lambda$3", "lambda$4", "lambda$5", "lambda$6", "lambda$7", "lambda$8", "lambda$9", "lambda$10", "lambda$11", "lambda$12", "lambda$13", "lambda$14", "lambda$15", "lambda$16", "lambda$17", "lambda$18", "lambda$19", "lambda$20", "lambda$21", "lambda$22", "lambda$23", "lambda$24", "access$8", "access$9", "access$10", "setContext", "getContext"); - Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.UserManagerProxy.class, "userManager", "this$0"); - Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.UserManagerProxy.class, "currentUsername", "updateCreator"); + Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.AuthManagerProxy.class, "authManager", "this$0"); + Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.AuthManagerProxy.class, "currentUsername", "updateCreator"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.TaskSchedulerProxy.class, "taskScheduler", "this$0"); Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.TaskSchedulerProxy.class, "lambda$0", "lambda$1", "lambda$2", "verifyTaskPermission", "verifyTaskPermission", "verifyTaskPermission", "verifyTaskPermission", "hasTaskPermission"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.GraphTraversalSourceProxy.class, "this$0"); @@ -120,7 +120,7 @@ private static void registerPrivateActions() { Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.VariablesProxy.class, "variables", "this$0"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.Context.class, "ADMIN", "user"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.HugeGraphAuthProxy.ContextTask.class, "runner", "context"); - Reflection.registerFieldsToFilter(com.baidu.hugegraph.StandardHugeGraph.class, "LOG", "started", "closed", "mode", "variables", "name", "params", "configuration", "schemaEventHub", "graphEventHub", "indexEventHub", "writeRateLimiter", "readRateLimiter", "taskManager", "userManager", "features", "storeProvider", "tx", "ramtable", "$assertionsDisabled"); + Reflection.registerFieldsToFilter(com.baidu.hugegraph.StandardHugeGraph.class, "LOG", "started", "closed", "mode", "variables", "name", "params", "configuration", "schemaEventHub", "graphEventHub", "indexEventHub", "writeRateLimiter", "readRateLimiter", "taskManager", "authManager", "features", "storeProvider", "tx", "ramtable", "$assertionsDisabled"); Reflection.registerMethodsToFilter(com.baidu.hugegraph.StandardHugeGraph.class, "lambda$0", "access$3", "access$4", "access$2", "access$5", "access$6", "access$7", "waitUntilAllTasksCompleted", "access$8", "loadStoreProvider", "graphTransaction", "schemaTransaction", "openSchemaTransaction", "checkGraphNotClosed", "openSystemTransaction", "openGraphTransaction", "systemTransaction", "access$9", "access$10", "access$11", "access$12", "access$13", "access$14", "access$15", "access$16", "access$17", "access$18", "serializer", "loadSchemaStore", "loadSystemStore", "loadGraphStore", "closeTx", "analyzer", "serverInfoManager", "reloadRamtable", "reloadRamtable", "access$19", "access$20", "access$21"); Reflection.registerFieldsToFilter(c("com.baidu.hugegraph.StandardHugeGraph$StandardHugeGraphParams"), "graph", "this$0"); Reflection.registerMethodsToFilter(c("com.baidu.hugegraph.StandardHugeGraph$StandardHugeGraphParams"), "access$1", "graph"); @@ -172,8 +172,8 @@ private static void registerPrivateActions() { Reflection.registerMethodsToFilter(com.baidu.hugegraph.task.TaskCallable.class, "graph", "closeTx", "cancelled", "done", "task", "save", "needSaveWithEx"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.task.TaskCallable.SysTaskCallable.class, "params"); Reflection.registerMethodsToFilter(com.baidu.hugegraph.task.TaskCallable.SysTaskCallable.class, "params", "params"); - Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.StandardUserManager.class, "CACHE_EXPIRE", "graph", "eventListener", "usersCache", "users", "groups", "targets", "belong", "access", "$assertionsDisabled"); - Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.StandardUserManager.class, "lambda$0", "listenChanges", "unlistenChanges", "invalidCache", "initSchemaIfNeeded", "rolePermission", "rolePermission", "rolePermission", "cache"); + Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.StandardAuthManager.class, "CACHE_EXPIRE", "graph", "eventListener", "usersCache", "users", "groups", "targets", "belong", "access", "$assertionsDisabled"); + Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.StandardAuthManager.class, "lambda$0", "listenChanges", "unlistenChanges", "invalidCache", "initSchemaIfNeeded", "rolePermission", "rolePermission", "rolePermission", "cache"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.SchemaDefine.class, "graph", "label"); Reflection.registerMethodsToFilter(com.baidu.hugegraph.auth.SchemaDefine.class, "schema", "createPropertyKey", "createPropertyKey", "createPropertyKey", "existEdgeLabel", "createRangeIndex", "unhideField", "hideField", "existVertexLabel", "initProperties"); Reflection.registerFieldsToFilter(com.baidu.hugegraph.auth.EntityManager.class, "graph", "label", "deser", "NO_LIMIT", "$assertionsDisabled"); @@ -215,7 +215,7 @@ private static void genRegisterPrivateActions() { registerPrivateActions(HugeAuthenticator.User.class); registerPrivateActions(HugeGraphAuthProxy.class); - registerPrivateActions(HugeGraphAuthProxy.UserManagerProxy.class); + registerPrivateActions(HugeGraphAuthProxy.AuthManagerProxy.class); registerPrivateActions(HugeGraphAuthProxy.TaskSchedulerProxy.class); registerPrivateActions(HugeGraphAuthProxy.GraphTraversalSourceProxy.class); registerPrivateActions(HugeGraphAuthProxy.TraversalStrategiesProxy.class); @@ -249,7 +249,7 @@ private static void genRegisterPrivateActions() { registerPrivateActions(TaskCallable.class); registerPrivateActions(SysTaskCallable.class); - registerPrivateActions(StandardUserManager.class); + registerPrivateActions(StandardAuthManager.class); registerPrivateActions(SchemaDefine.class); registerPrivateActions(EntityManager.class); registerPrivateActions(RelationshipManager.class); diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java index 18ac538416..a69ffa68d4 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/HugeGraphAuthProxy.java @@ -57,7 +57,7 @@ import com.baidu.hugegraph.HugeGraph; import com.baidu.hugegraph.auth.HugeAuthenticator.RolePerm; import com.baidu.hugegraph.auth.HugeAuthenticator.User; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.backend.query.Query; import com.baidu.hugegraph.backend.store.BackendFeatures; @@ -103,13 +103,13 @@ public final class HugeGraphAuthProxy implements HugeGraph { private final HugeGraph hugegraph; private final TaskSchedulerProxy taskScheduler; - private final UserManagerProxy userManager; + private final AuthManagerProxy authManager; public HugeGraphAuthProxy(HugeGraph hugegraph) { LOG.info("Wrap graph '{}' with HugeGraphAuthProxy", hugegraph.name()); this.hugegraph = hugegraph; this.taskScheduler = new TaskSchedulerProxy(hugegraph.taskScheduler()); - this.userManager = new UserManagerProxy(hugegraph.userManager()); + this.authManager = new AuthManagerProxy(hugegraph.authManager()); this.hugegraph.proxy(this); } @@ -649,15 +649,15 @@ public TaskScheduler taskScheduler() { } @Override - public UserManager userManager() { + public AuthManager authManager() { // Just return proxy - return this.userManager; + return this.authManager; } @Override - public void switchUserManager(UserManager userManager) { + public void switchAuthManager(AuthManager authManager) { this.verifyAdminPermission(); - this.userManager.switchUserManager(userManager); + this.authManager.switchAuthManager(authManager); } @Override @@ -688,12 +688,12 @@ public void clearBackend() { @Override public void truncateBackend() { this.verifyAdminPermission(); - UserManager userManager = this.hugegraph.userManager(); + AuthManager userManager = this.hugegraph.authManager(); HugeUser admin = userManager.findUser(HugeAuthenticator.USER_ADMIN); try { this.hugegraph.truncateBackend(); } finally { - if (admin != null && userManager instanceof StandardUserManager) { + if (admin != null && userManager instanceof StandardAuthManager) { // Restore admin user to continue to do any operation userManager.createUser(admin); } @@ -722,13 +722,13 @@ private void verifyPermission(HugePermission actionPerm, }); } - private V verifyUserPermission( + private V verifyUserPermission( HugePermission actionPerm, V elementFetcher) { return verifyUserPermission(actionPerm, true, () -> elementFetcher); } - private List verifyUserPermission( + private List verifyUserPermission( HugePermission actionPerm, List elems) { List results = new ArrayList<>(); @@ -741,7 +741,7 @@ private List verifyUserPermission( return results; } - private V verifyUserPermission( + private V verifyUserPermission( HugePermission actionPerm, boolean throwIfNoPerm, Supplier elementFetcher) { @@ -871,8 +871,8 @@ private V verifyResPermission(HugePermission actionPerm, } // verify permission for one access another, like: granted <= user role else if (ro.type().isGrantOrUser()) { - UserElement element = (UserElement) ro.operated(); - RolePermission grant = this.hugegraph.userManager() + AuthElement element = (AuthElement) ro.operated(); + RolePermission grant = this.hugegraph.authManager() .rolePermission(element); if (!RolePerm.match(role, grant, ro)) { result = null; @@ -1057,15 +1057,15 @@ private boolean hasTaskPermission(HugeTask task) { } } - class UserManagerProxy implements UserManager { + class AuthManagerProxy implements AuthManager { - private UserManager userManager; + private AuthManager authManager; - public UserManagerProxy(UserManager origin) { - this.userManager = origin; + public AuthManagerProxy(AuthManager origin) { + this.authManager = origin; } - private UserElement updateCreator(UserElement elem) { + private AuthElement updateCreator(AuthElement elem) { String username = currentUsername(); if (username != null && elem.creator() == null) { elem.creator(username); @@ -1084,7 +1084,7 @@ private String currentUsername() { @Override public boolean close() { verifyAdminPermission(); - return this.userManager.close(); + return this.authManager.close(); } @Override @@ -1093,32 +1093,32 @@ public Id createUser(HugeUser user) { "Invalid user name '%s'", user.name()); this.updateCreator(user); verifyUserPermission(HugePermission.WRITE, user); - return this.userManager.createUser(user); + return this.authManager.createUser(user); } @Override public Id updateUser(HugeUser updatedUser) { String username = currentUsername(); - HugeUser user = this.userManager.getUser(updatedUser.id()); + HugeUser user = this.authManager.getUser(updatedUser.id()); if (!user.name().equals(username)) { this.updateCreator(updatedUser); verifyUserPermission(HugePermission.WRITE, user); } - return this.userManager.updateUser(updatedUser); + return this.authManager.updateUser(updatedUser); } @Override public HugeUser deleteUser(Id id) { - HugeUser user = this.userManager.getUser(id); + HugeUser user = this.authManager.getUser(id); E.checkArgument(!HugeAuthenticator.USER_ADMIN.equals(user.name()), "Can't delete user '%s'", user.name()); verifyUserPermission(HugePermission.DELETE, user); - return this.userManager.deleteUser(id); + return this.authManager.deleteUser(id); } @Override public HugeUser findUser(String name) { - HugeUser user = this.userManager.findUser(name); + HugeUser user = this.authManager.findUser(name); String username = currentUsername(); if (!user.name().equals(username)) { verifyUserPermission(HugePermission.READ, user); @@ -1128,7 +1128,7 @@ public HugeUser findUser(String name) { @Override public HugeUser getUser(Id id) { - HugeUser user = this.userManager.getUser(id); + HugeUser user = this.authManager.getUser(id); String username = currentUsername(); if (!user.name().equals(username)) { verifyUserPermission(HugePermission.READ, user); @@ -1139,141 +1139,141 @@ public HugeUser getUser(Id id) { @Override public List listUsers(List ids) { return verifyUserPermission(HugePermission.READ, - this.userManager.listUsers(ids)); + this.authManager.listUsers(ids)); } @Override public List listAllUsers(long limit) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAllUsers(limit)); + this.authManager.listAllUsers(limit)); } @Override public Id createGroup(HugeGroup group) { this.updateCreator(group); verifyUserPermission(HugePermission.WRITE, group); - return this.userManager.createGroup(group); + return this.authManager.createGroup(group); } @Override public Id updateGroup(HugeGroup group) { this.updateCreator(group); verifyUserPermission(HugePermission.WRITE, group); - return this.userManager.updateGroup(group); + return this.authManager.updateGroup(group); } @Override public HugeGroup deleteGroup(Id id) { verifyUserPermission(HugePermission.DELETE, - this.userManager.getGroup(id)); - return this.userManager.deleteGroup(id); + this.authManager.getGroup(id)); + return this.authManager.deleteGroup(id); } @Override public HugeGroup getGroup(Id id) { return verifyUserPermission(HugePermission.READ, - this.userManager.getGroup(id)); + this.authManager.getGroup(id)); } @Override public List listGroups(List ids) { return verifyUserPermission(HugePermission.READ, - this.userManager.listGroups(ids)); + this.authManager.listGroups(ids)); } @Override public List listAllGroups(long limit) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAllGroups(limit)); + this.authManager.listAllGroups(limit)); } @Override public Id createTarget(HugeTarget target) { this.updateCreator(target); verifyUserPermission(HugePermission.WRITE, target); - return this.userManager.createTarget(target); + return this.authManager.createTarget(target); } @Override public Id updateTarget(HugeTarget target) { this.updateCreator(target); verifyUserPermission(HugePermission.WRITE, target); - return this.userManager.updateTarget(target); + return this.authManager.updateTarget(target); } @Override public HugeTarget deleteTarget(Id id) { verifyUserPermission(HugePermission.DELETE, - this.userManager.getTarget(id)); - return this.userManager.deleteTarget(id); + this.authManager.getTarget(id)); + return this.authManager.deleteTarget(id); } @Override public HugeTarget getTarget(Id id) { return verifyUserPermission(HugePermission.READ, - this.userManager.getTarget(id)); + this.authManager.getTarget(id)); } @Override public List listTargets(List ids) { return verifyUserPermission(HugePermission.READ, - this.userManager.listTargets(ids)); + this.authManager.listTargets(ids)); } @Override public List listAllTargets(long limit) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAllTargets(limit)); + this.authManager.listAllTargets(limit)); } @Override public Id createBelong(HugeBelong belong) { this.updateCreator(belong); verifyUserPermission(HugePermission.WRITE, belong); - return this.userManager.createBelong(belong); + return this.authManager.createBelong(belong); } @Override public Id updateBelong(HugeBelong belong) { this.updateCreator(belong); verifyUserPermission(HugePermission.WRITE, belong); - return this.userManager.updateBelong(belong); + return this.authManager.updateBelong(belong); } @Override public HugeBelong deleteBelong(Id id) { verifyUserPermission(HugePermission.DELETE, - this.userManager.getBelong(id)); - return this.userManager.deleteBelong(id); + this.authManager.getBelong(id)); + return this.authManager.deleteBelong(id); } @Override public HugeBelong getBelong(Id id) { return verifyUserPermission(HugePermission.READ, - this.userManager.getBelong(id)); + this.authManager.getBelong(id)); } @Override public List listBelong(List ids) { return verifyUserPermission(HugePermission.READ, - this.userManager.listBelong(ids)); + this.authManager.listBelong(ids)); } @Override public List listAllBelong(long limit) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAllBelong(limit)); + this.authManager.listAllBelong(limit)); } @Override public List listBelongByUser(Id user, long limit) { - List r = this.userManager.listBelongByUser(user, limit); + List r = this.authManager.listBelongByUser(user, limit); return verifyUserPermission(HugePermission.READ, r); } @Override public List listBelongByGroup(Id group, long limit) { - List r = this.userManager.listBelongByGroup(group, + List r = this.authManager.listBelongByGroup(group, limit); return verifyUserPermission(HugePermission.READ, r); } @@ -1282,51 +1282,51 @@ public List listBelongByGroup(Id group, long limit) { public Id createAccess(HugeAccess access) { verifyUserPermission(HugePermission.WRITE, access); this.updateCreator(access); - return this.userManager.createAccess(access); + return this.authManager.createAccess(access); } @Override public Id updateAccess(HugeAccess access) { verifyUserPermission(HugePermission.WRITE, access); this.updateCreator(access); - return this.userManager.updateAccess(access); + return this.authManager.updateAccess(access); } @Override public HugeAccess deleteAccess(Id id) { verifyUserPermission(HugePermission.DELETE, - this.userManager.getAccess(id)); - return this.userManager.deleteAccess(id); + this.authManager.getAccess(id)); + return this.authManager.deleteAccess(id); } @Override public HugeAccess getAccess(Id id) { return verifyUserPermission(HugePermission.READ, - this.userManager.getAccess(id)); + this.authManager.getAccess(id)); } @Override public List listAccess(List ids) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAccess(ids)); + this.authManager.listAccess(ids)); } @Override public List listAllAccess(long limit) { return verifyUserPermission(HugePermission.READ, - this.userManager.listAllAccess(limit)); + this.authManager.listAllAccess(limit)); } @Override public List listAccessByGroup(Id group, long limit) { - List r = this.userManager.listAccessByGroup(group, + List r = this.authManager.listAccessByGroup(group, limit); return verifyUserPermission(HugePermission.READ, r); } @Override public List listAccessByTarget(Id target, long limit) { - List r = this.userManager.listAccessByTarget(target, + List r = this.authManager.listAccessByTarget(target, limit); return verifyUserPermission(HugePermission.READ, r); } @@ -1334,17 +1334,17 @@ public List listAccessByTarget(Id target, long limit) { @Override public HugeUser matchUser(String name, String password) { // Unneeded to verify permission - return this.userManager.matchUser(name, password); + return this.authManager.matchUser(name, password); } @Override - public RolePermission rolePermission(UserElement element) { + public RolePermission rolePermission(AuthElement element) { String username = currentUsername(); if (!(element instanceof HugeUser) || !((HugeUser) element).name().equals(username)) { verifyUserPermission(HugePermission.READ, element); } - return this.userManager.rolePermission(element); + return this.authManager.rolePermission(element); } @Override @@ -1352,7 +1352,7 @@ public RolePermission loginUser(String username, String password) { // Can't verifyPermission() here, login first with temp permission Context context = setContext(Context.admin()); try { - return this.userManager.loginUser(username, password); + return this.authManager.loginUser(username, password); } catch (Exception e) { LOG.error("Failed to login user {} with error: ", username, e); throw e; @@ -1361,9 +1361,9 @@ public RolePermission loginUser(String username, String password) { } } - private void switchUserManager(UserManager userManager) { - this.userManager = userManager; - HugeGraphAuthProxy.this.hugegraph.switchUserManager(userManager); + private void switchAuthManager(AuthManager authManager) { + this.authManager = authManager; + HugeGraphAuthProxy.this.hugegraph.switchAuthManager(authManager); } } diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/StandardAuthenticator.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/StandardAuthenticator.java index 5b728a73ff..c0e4f654c7 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/StandardAuthenticator.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/auth/StandardAuthenticator.java @@ -51,12 +51,12 @@ private void initAdminUser() throws Exception { String caller = Thread.currentThread().getName(); E.checkState(caller.equals("main"), "Invalid caller '%s'", caller); - UserManager userManager = this.graph().hugegraph().userManager(); - if (userManager.findUser(HugeAuthenticator.USER_ADMIN) == null) { + AuthManager authManager = this.graph().hugegraph().authManager(); + if (authManager.findUser(HugeAuthenticator.USER_ADMIN) == null) { HugeUser admin = new HugeUser(HugeAuthenticator.USER_ADMIN); admin.password(StringEncoding.hashPassword(this.inputPassword())); admin.creator(HugeAuthenticator.USER_SYSTEM); - userManager.createUser(admin); + authManager.createUser(admin); } this.graph.close(); @@ -93,7 +93,7 @@ public void setup(HugeConfig config) { String remoteUrl = config.get(ServerOptions.AUTH_REMOTE_URL); if (StringUtils.isNotEmpty(remoteUrl)) { RpcClientProvider clientProvider = new RpcClientProvider(config); - this.graph.switchUserManager(clientProvider.userManager()); + this.graph.switchAuthManager(clientProvider.authManager()); } } @@ -110,7 +110,7 @@ public RolePermission authenticate(String username, String password) { E.checkArgumentNotNull(password, "The password parameter can't be null"); - RolePermission role = this.graph().userManager().loginUser(username, + RolePermission role = this.graph().authManager().loginUser(username, password); if (role == null) { role = ROLE_NONE; @@ -121,8 +121,8 @@ public RolePermission authenticate(String username, String password) { } @Override - public UserManager userManager() { - return this.graph().userManager(); + public AuthManager authManager() { + return this.graph().authManager(); } @Override diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java index 8d5144686d..8b41ea3345 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java @@ -198,8 +198,8 @@ public static synchronized ServerOptions instance() { public static final ConfigOption AUTH_GRAPH_STORE = new ConfigOption<>( "auth.graph_store", - "The graph name used to store users, " + - "only for com.baidu.hugegraph.auth.StandardAuthenticator.", + "The name of graph used to store authentication information, " + + "like users, only for com.baidu.hugegraph.auth.StandardAuthenticator.", disallowEmpty(), "hugegraph" ); diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/core/GraphManager.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/core/GraphManager.java index c5ece268e0..b5075e4ae2 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/core/GraphManager.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/core/GraphManager.java @@ -39,7 +39,7 @@ import com.baidu.hugegraph.auth.HugeAuthenticator; import com.baidu.hugegraph.auth.HugeFactoryAuthProxy; import com.baidu.hugegraph.auth.HugeGraphAuthProxy; -import com.baidu.hugegraph.auth.UserManager; +import com.baidu.hugegraph.auth.AuthManager; import com.baidu.hugegraph.backend.BackendException; import com.baidu.hugegraph.backend.cache.Cache; import com.baidu.hugegraph.backend.cache.CacheManager; @@ -164,8 +164,8 @@ public HugeAuthenticator.User authenticate(Map credentials) return this.authenticator().authenticate(credentials); } - public UserManager userManager() { - return this.authenticator().userManager(); + public AuthManager authManager() { + return this.authenticator().authManager(); } public void close() { @@ -176,8 +176,8 @@ private void startRpcServer() { RpcProviderConfig serverConfig = this.rpcServer.config(); if (this.authenticator != null) { - serverConfig.addService(UserManager.class, - this.authenticator.userManager()); + serverConfig.addService(AuthManager.class, + this.authenticator.authManager()); } if (this.rpcClient.enabled()) { diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcClientProvider.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcClientProvider.java index 9d297835a4..1cb29041eb 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcClientProvider.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcClientProvider.java @@ -24,7 +24,8 @@ import java.util.Set; import com.alipay.sofa.rpc.common.utils.StringUtils; -import com.baidu.hugegraph.auth.UserManager; +import com.alipay.sofa.rpc.config.ConsumerConfig; +import com.baidu.hugegraph.auth.AuthManager; import com.baidu.hugegraph.config.HugeConfig; import com.baidu.hugegraph.config.ServerOptions; import com.baidu.hugegraph.util.E; @@ -59,11 +60,11 @@ public RpcConsumerConfig config() { return this.consumerConfig; } - public UserManager userManager() { + public AuthManager authManager() { E.checkArgument(this.authConsumerConfig != null, "RpcClient is not enabled, please config option '%s'", ServerOptions.AUTH_REMOTE_URL.name()); - return this.authConsumerConfig.serviceProxy(UserManager.class); + return this.authConsumerConfig.serviceProxy(AuthManager.class); } private static String excludeSelfUrl(String rpcUrl, String selfUrl) { diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/JsonSerializer.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/JsonSerializer.java index 04680da683..ba2f2638aa 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/JsonSerializer.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/JsonSerializer.java @@ -34,7 +34,7 @@ import com.baidu.hugegraph.HugeException; import com.baidu.hugegraph.api.API; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.backend.page.PageInfo; import com.baidu.hugegraph.iterator.Metadatable; @@ -216,12 +216,12 @@ public String writeIds(List ids) { } @Override - public String writeUserElement(UserElement elem) { + public String writeAuthElement(AuthElement elem) { return this.writeMap(elem.asMap()); } @Override - public String writeUserElements(String label, + public String writeAuthElements(String label, List elems) { List list = new ArrayList<>(elems.size()); for (V elem : elems) { diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/Serializer.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/Serializer.java index 8c680f113b..a36d783ae9 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/Serializer.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/serializer/Serializer.java @@ -28,7 +28,7 @@ import org.apache.tinkerpop.gremlin.structure.Edge; import org.apache.tinkerpop.gremlin.structure.Vertex; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.schema.EdgeLabel; import com.baidu.hugegraph.schema.IndexLabel; @@ -75,9 +75,9 @@ public interface Serializer { public String writeIds(List ids); - public String writeUserElement(UserElement elem); + public String writeAuthElement(AuthElement elem); - public String writeUserElements(String label, + public String writeAuthElements(String label, List users); public String writePaths(String name, Collection paths, diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java index 1b93b801be..f9dd690144 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/HugeGraph.java @@ -31,7 +31,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.VertexProperty; -import com.baidu.hugegraph.auth.UserManager; +import com.baidu.hugegraph.auth.AuthManager; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.backend.query.Query; import com.baidu.hugegraph.backend.store.BackendFeatures; @@ -156,8 +156,8 @@ public interface HugeGraph extends Graph { @Override public HugeFeatures features(); - public UserManager userManager(); - public void switchUserManager(UserManager userManager); + public AuthManager authManager(); + public void switchAuthManager(AuthManager authManager); public TaskScheduler taskScheduler(); public RaftGroupManager raftGroupManager(String group); diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/StandardHugeGraph.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/StandardHugeGraph.java index 4ec1ea9091..815a8fbd87 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/StandardHugeGraph.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/StandardHugeGraph.java @@ -40,8 +40,8 @@ import com.baidu.hugegraph.analyzer.Analyzer; import com.baidu.hugegraph.analyzer.AnalyzerFactory; -import com.baidu.hugegraph.auth.StandardUserManager; -import com.baidu.hugegraph.auth.UserManager; +import com.baidu.hugegraph.auth.StandardAuthManager; +import com.baidu.hugegraph.auth.AuthManager; import com.baidu.hugegraph.backend.BackendException; import com.baidu.hugegraph.backend.cache.Cache; import com.baidu.hugegraph.backend.cache.CacheNotifier; @@ -148,7 +148,7 @@ public class StandardHugeGraph implements HugeGraph { private final RateLimiter writeRateLimiter; private final RateLimiter readRateLimiter; private final TaskManager taskManager; - private UserManager userManager; + private AuthManager authManager; private final HugeFeatures features; @@ -208,7 +208,7 @@ public StandardHugeGraph(HugeConfig config) { SnowflakeIdGenerator.init(this.params); this.taskManager.addScheduler(this.params); - this.userManager = new StandardUserManager(this.params); + this.authManager = new StandardAuthManager(this.params); this.variables = null; } catch (Exception e) { this.storeProvider.close(); @@ -830,7 +830,7 @@ public synchronized void close() throws Exception { } LOG.info("Close graph {}", this); - this.userManager.close(); + this.authManager.close(); this.taskManager.closeScheduler(this.params); try { this.closeTx(); @@ -892,14 +892,14 @@ private ServerInfoManager serverInfoManager() { } @Override - public UserManager userManager() { - // this.userManager.initSchemaIfNeeded(); - return this.userManager; + public AuthManager authManager() { + // this.authManager.initSchemaIfNeeded(); + return this.authManager; } @Override - public void switchUserManager(UserManager userManager) { - this.userManager = userManager; + public void switchAuthManager(AuthManager authManager) { + this.authManager = authManager; } @Override diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/UserManager.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/AuthManager.java similarity index 94% rename from hugegraph-core/src/main/java/com/baidu/hugegraph/auth/UserManager.java rename to hugegraph-core/src/main/java/com/baidu/hugegraph/auth/AuthManager.java index 8a87ac49c7..57561466ee 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/UserManager.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/AuthManager.java @@ -22,10 +22,10 @@ import java.util.List; import com.baidu.hugegraph.auth.RolePermission; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.backend.id.Id; -public interface UserManager { +public interface AuthManager { public boolean close(); @@ -70,7 +70,7 @@ public interface UserManager { public List listAccessByTarget(Id target, long limit); public HugeUser matchUser(String name, String password); - public RolePermission rolePermission(UserElement element); + public RolePermission rolePermission(AuthElement element); public RolePermission loginUser(String username, String password); } diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeAccess.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeAccess.java index 699bf60b32..99838d5c23 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeAccess.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeAccess.java @@ -37,6 +37,8 @@ public class HugeAccess extends Relationship { + private static final long serialVersionUID = -7644007602408729385L; + private final Id group; private final Id target; private HugePermission permission; diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeBelong.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeBelong.java index dd2d31b213..54f15586c2 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeBelong.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeBelong.java @@ -29,13 +29,14 @@ import org.apache.tinkerpop.gremlin.structure.T; import com.baidu.hugegraph.HugeGraphParams; -import com.baidu.hugegraph.auth.ResourceType; import com.baidu.hugegraph.auth.SchemaDefine.Relationship; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.schema.EdgeLabel; public class HugeBelong extends Relationship { + private static final long serialVersionUID = -7242751631755533423L; + private final Id user; private final Id group; private String description; diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeGroup.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeGroup.java index 6cd979c585..9b15afee8c 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeGroup.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeGroup.java @@ -29,7 +29,6 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import com.baidu.hugegraph.HugeGraphParams; -import com.baidu.hugegraph.auth.ResourceType; import com.baidu.hugegraph.auth.SchemaDefine.Entity; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.schema.VertexLabel; @@ -37,6 +36,8 @@ public class HugeGroup extends Entity { + private static final long serialVersionUID = 2330399818352242686L; + private String name; private String description; diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeResource.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeResource.java index 59110b6dbb..926afc656c 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeResource.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeResource.java @@ -39,7 +39,7 @@ import org.apache.tinkerpop.shaded.jackson.databind.ser.std.StdSerializer; import com.baidu.hugegraph.HugeException; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.structure.HugeElement; import com.baidu.hugegraph.traversal.optimize.TraversalUtil; import com.baidu.hugegraph.type.Namifiable; @@ -121,7 +121,7 @@ public boolean filter(ResourceObject resourceObject) { return this.filter((HugeElement) resourceObject.operated()); } if (resType.isAuth()) { - return this.filter((UserElement) resourceObject.operated()); + return this.filter((AuthElement) resourceObject.operated()); } if (resType.isSchema() || CHECK_NAME_RESS.contains(resType)) { return this.filter((Namifiable) resourceObject.operated()); @@ -135,7 +135,7 @@ public boolean filter(ResourceObject resourceObject) { return true; } - private boolean filter(UserElement element) { + private boolean filter(AuthElement element) { assert this.type.match(element.type()); if (element instanceof Namifiable) { if (!this.filter((Namifiable) element)) { diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeTarget.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeTarget.java index a18c15f524..799aba4eb2 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeTarget.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeTarget.java @@ -30,7 +30,6 @@ import com.baidu.hugegraph.HugeException; import com.baidu.hugegraph.HugeGraphParams; -import com.baidu.hugegraph.auth.ResourceType; import com.baidu.hugegraph.auth.SchemaDefine.Entity; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.schema.VertexLabel; @@ -41,6 +40,8 @@ public class HugeTarget extends Entity { + private static final long serialVersionUID = -3361487778656878418L; + private String name; private String graph; private String url; diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeUser.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeUser.java index 78d376fd49..f327c596ad 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeUser.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/HugeUser.java @@ -36,6 +36,8 @@ public class HugeUser extends Entity { + private static final long serialVersionUID = -8951193710873772717L; + private String name; private String password; private String phone; diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/ResourceObject.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/ResourceObject.java index 489cd4b6b3..b3bb609e5d 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/ResourceObject.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/ResourceObject.java @@ -19,7 +19,7 @@ package com.baidu.hugegraph.auth; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.schema.SchemaElement; import com.baidu.hugegraph.structure.HugeElement; import com.baidu.hugegraph.type.Namifiable; @@ -56,7 +56,7 @@ public V operated() { public String toString() { Object operated = this.operated; if (this.type.isAuth()) { - operated = ((UserElement) this.operated).idString(); + operated = ((AuthElement) this.operated).idString(); } return String.format("Resource{graph=%s,type=%s,operated=%s}", this.graph, this.type, operated); @@ -74,8 +74,8 @@ public static ResourceObject of(String graph, return new ResourceObject<>(graph, resType, elem); } - public static ResourceObject of(String graph, - UserElement elem) { + public static ResourceObject of(String graph, + AuthElement elem) { return new ResourceObject<>(graph, elem.type(), elem); } diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/SchemaDefine.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/SchemaDefine.java index 57bf0e4fd0..7e039ea4e7 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/SchemaDefine.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/SchemaDefine.java @@ -39,6 +39,7 @@ import com.baidu.hugegraph.schema.SchemaManager; import com.baidu.hugegraph.schema.VertexLabel; import com.baidu.hugegraph.type.HugeType; +import com.baidu.hugegraph.type.Namifiable; import com.baidu.hugegraph.type.define.Cardinality; import com.baidu.hugegraph.type.define.DataType; import com.baidu.hugegraph.util.E; @@ -88,11 +89,11 @@ protected String createPropertyKey(String name, DataType dataType, protected String[] initProperties(List props) { String label = this.label; - props.add(createPropertyKey(hideField(label, UserElement.CREATE), + props.add(createPropertyKey(hideField(label, AuthElement.CREATE), DataType.DATE)); - props.add(createPropertyKey(hideField(label, UserElement.UPDATE), + props.add(createPropertyKey(hideField(label, AuthElement.UPDATE), DataType.DATE)); - props.add(createPropertyKey(hideField(label, UserElement.CREATOR))); + props.add(createPropertyKey(hideField(label, AuthElement.CREATOR))); return props.toArray(new String[0]); } @@ -116,7 +117,9 @@ protected static String unhideField(String label, String key) { return Hidden.unHide(label) + "_" + key; } - public static abstract class UserElement implements Serializable { + public static abstract class AuthElement implements Serializable { + + private static final long serialVersionUID = 8746691160192814973L; protected static final String CREATE = "create"; protected static final String UPDATE = "update"; @@ -127,7 +130,7 @@ public static abstract class UserElement implements Serializable { protected Date update; protected String creator; - public UserElement() { + public AuthElement() { this.create = new Date(); this.update = this.create; } @@ -238,8 +241,10 @@ protected Object[] asArray(List list) { protected abstract Object[] asArray(); } - public static abstract class Entity extends UserElement - implements com.baidu.hugegraph.type.Namifiable { + public static abstract class Entity extends AuthElement + implements Namifiable { + + private static final long serialVersionUID = 4113319546914811762L; public static T fromVertex(Vertex vertex, T entity) { E.checkArgument(vertex.label().equals(entity.label()), @@ -265,7 +270,9 @@ public String idString() { } } - public static abstract class Relationship extends UserElement { + public static abstract class Relationship extends AuthElement { + + private static final long serialVersionUID = -1406157381685832493L; public abstract String sourceLabel(); public abstract String targetLabel(); diff --git a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardUserManager.java b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardAuthManager.java similarity index 98% rename from hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardUserManager.java rename to hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardAuthManager.java index e0a2abc44c..13d1170fbb 100644 --- a/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardUserManager.java +++ b/hugegraph-core/src/main/java/com/baidu/hugegraph/auth/StandardAuthManager.java @@ -26,7 +26,7 @@ import com.baidu.hugegraph.HugeGraphParams; import com.baidu.hugegraph.auth.HugeUser.P; -import com.baidu.hugegraph.auth.SchemaDefine.UserElement; +import com.baidu.hugegraph.auth.SchemaDefine.AuthElement; import com.baidu.hugegraph.backend.cache.Cache; import com.baidu.hugegraph.backend.cache.CacheManager; import com.baidu.hugegraph.backend.id.Id; @@ -38,7 +38,7 @@ import com.baidu.hugegraph.util.StringEncoding; import com.google.common.collect.ImmutableSet; -public class StandardUserManager implements UserManager { +public class StandardAuthManager implements AuthManager { private static final long CACHE_EXPIRE = Duration.ofDays(1L).toMillis(); @@ -53,7 +53,7 @@ public class StandardUserManager implements UserManager { private final RelationshipManager belong; private final RelationshipManager access; - public StandardUserManager(HugeGraphParams graph) { + public StandardAuthManager(HugeGraphParams graph) { E.checkNotNull(graph, "graph"); this.graph = graph; @@ -349,7 +349,7 @@ public HugeUser matchUser(String name, String password) { } @Override - public RolePermission rolePermission(UserElement element) { + public RolePermission rolePermission(AuthElement element) { if (element instanceof HugeUser) { return this.rolePermission((HugeUser) element); } else if (element instanceof HugeTarget) { diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java index 6a7245cbfe..1889344ed5 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBSessions.java @@ -79,9 +79,11 @@ public static abstract class Session extends AbstractBackendSession { public abstract void merge(String table, byte[] key, byte[] value); public abstract void increase(String table, byte[] key, byte[] value); - public abstract void remove(String table, byte[] key); - public abstract void delete(String table, byte[] keyFrom, byte[] keyTo); public abstract void delete(String table, byte[] key); + public abstract void deleteSingle(String table, byte[] key); + public abstract void deletePrefix(String table, byte[] key); + public abstract void deleteRange(String table, + byte[] keyFrom, byte[] keyTo); public abstract byte[] get(String table, byte[] key); diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java index f6788d7de0..3bbfd9237d 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBStdSessions.java @@ -840,7 +840,20 @@ public void increase(String table, byte[] key, byte[] value) { * Delete a record by key from a table */ @Override - public void remove(String table, byte[] key) { + public void delete(String table, byte[] key) { + try (CFHandle cf = cf(table)) { + this.batch.delete(cf.get(), key); + } catch (RocksDBException e) { + throw new BackendException(e); + } + } + + /** + * Delete the only one version of a record by key from a table + * NOTE: requires that the key exists and was not overwritten. + */ + @Override + public void deleteSingle(String table, byte[] key) { try (CFHandle cf = cf(table)) { this.batch.singleDelete(cf.get(), key); } catch (RocksDBException e) { @@ -852,7 +865,7 @@ public void remove(String table, byte[] key) { * Delete a record by key(or prefix with key) from a table */ @Override - public void delete(String table, byte[] key) { + public void deletePrefix(String table, byte[] key) { byte[] keyFrom = key; byte[] keyTo = Arrays.copyOf(key, key.length); keyTo = BinarySerializer.increaseOne(keyTo); @@ -867,7 +880,7 @@ public void delete(String table, byte[] key) { * Delete a range of keys from a table */ @Override - public void delete(String table, byte[] keyFrom, byte[] keyTo) { + public void deleteRange(String table, byte[] keyFrom, byte[] keyTo) { try (CFHandle cf = cf(table)) { this.batch.deleteRange(cf.get(), keyFrom, keyTo); } catch (RocksDBException e) { diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTable.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTable.java index 6dde279b67..ba52f7e56c 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTable.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTable.java @@ -103,7 +103,7 @@ public void delete(Session session, BackendEntry entry) { } else { for (BackendColumn col : entry.columns()) { assert entry.belongToMe(col) : entry; - session.remove(this.table(), col.name); + session.delete(this.table(), col.name); } } } diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java index 6a18edb87e..5971bcb638 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdb/RocksDBTables.java @@ -75,7 +75,20 @@ private static long l(byte[] bytes) { } } - public static class VertexLabel extends RocksDBTable { + public static class SchemaTable extends RocksDBTable { + + public SchemaTable(String database, String table) { + super(database, table); + } + + @Override + public void delete(Session session, BackendEntry entry) { + assert entry.columns().isEmpty(); + session.deletePrefix(this.table(), entry.id().asBytes()); + } + } + + public static class VertexLabel extends SchemaTable { public static final String TABLE = HugeType.VERTEX_LABEL.string(); @@ -84,7 +97,7 @@ public VertexLabel(String database) { } } - public static class EdgeLabel extends RocksDBTable { + public static class EdgeLabel extends SchemaTable { public static final String TABLE = HugeType.EDGE_LABEL.string(); @@ -93,7 +106,7 @@ public EdgeLabel(String database) { } } - public static class PropertyKey extends RocksDBTable { + public static class PropertyKey extends SchemaTable { public static final String TABLE = HugeType.PROPERTY_KEY.string(); @@ -102,7 +115,7 @@ public PropertyKey(String database) { } } - public static class IndexLabel extends RocksDBTable { + public static class IndexLabel extends SchemaTable { public static final String TABLE = HugeType.INDEX_LABEL.string(); @@ -168,7 +181,7 @@ public void delete(Session session, BackendEntry entry) { */ for (BackendEntry.BackendColumn column : entry.columns()) { // Don't assert entry.belongToMe(column), length-prefix is 1* - session.delete(this.table(), column.name); + session.deletePrefix(this.table(), column.name); } } } diff --git a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java index d84d21ea68..1e5cce927e 100644 --- a/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java +++ b/hugegraph-rocksdb/src/main/java/com/baidu/hugegraph/backend/store/rocksdbsst/RocksDBSstSessions.java @@ -325,24 +325,33 @@ public void increase(String table, byte[] key, byte[] value) { * Delete a record by key from a table */ @Override - public void remove(String table, byte[] key) { - throw new NotSupportException("RocksDBSstStore remove()"); + public void delete(String table, byte[] key) { + throw new NotSupportException("RocksDBSstStore delete()"); + } + + /** + * Delete the only one version of a record by key from a table + * NOTE: requires that the key exists and was not overwritten. + */ + @Override + public void deleteSingle(String table, byte[] key) { + throw new NotSupportException("RocksDBSstStore deleteSingle()"); } /** * Delete a record by key(or prefix with key) from a table */ @Override - public void delete(String table, byte[] key) { - throw new NotSupportException("RocksDBSstStore delete()"); + public void deletePrefix(String table, byte[] key) { + throw new NotSupportException("RocksDBSstStore deletePrefix()"); } /** * Delete a range of keys from a table */ @Override - public void delete(String table, byte[] keyFrom, byte[] keyTo) { - throw new NotSupportException("RocksDBSstStore delete()"); + public void deleteRange(String table, byte[] keyFrom, byte[] keyTo) { + throw new NotSupportException("RocksDBSstStore deleteRange()"); } /** diff --git a/hugegraph-test/src/main/java/com/baidu/hugegraph/core/UsersTest.java b/hugegraph-test/src/main/java/com/baidu/hugegraph/core/AuthTest.java similarity index 66% rename from hugegraph-test/src/main/java/com/baidu/hugegraph/core/UsersTest.java rename to hugegraph-test/src/main/java/com/baidu/hugegraph/core/AuthTest.java index ec43fc19ed..f62ebb5bd9 100644 --- a/hugegraph-test/src/main/java/com/baidu/hugegraph/core/UsersTest.java +++ b/hugegraph-test/src/main/java/com/baidu/hugegraph/core/AuthTest.java @@ -28,6 +28,7 @@ import org.junit.Test; import com.baidu.hugegraph.HugeGraph; +import com.baidu.hugegraph.auth.AuthManager; import com.baidu.hugegraph.auth.HugeAccess; import com.baidu.hugegraph.auth.HugeBelong; import com.baidu.hugegraph.auth.HugeGroup; @@ -36,7 +37,6 @@ import com.baidu.hugegraph.auth.HugeTarget; import com.baidu.hugegraph.auth.HugeUser; import com.baidu.hugegraph.auth.RolePermission; -import com.baidu.hugegraph.auth.UserManager; import com.baidu.hugegraph.backend.id.Id; import com.baidu.hugegraph.backend.id.IdGenerator; import com.baidu.hugegraph.exception.NotFoundException; @@ -47,35 +47,35 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -public class UsersTest extends BaseCoreTest { +public class AuthTest extends BaseCoreTest { @After public void clearAll() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - for (HugeUser user : userManager.listAllUsers(-1)) { - userManager.deleteUser(user.id()); + for (HugeUser user : authManager.listAllUsers(-1)) { + authManager.deleteUser(user.id()); } - for (HugeGroup group : userManager.listAllGroups(-1)) { - userManager.deleteGroup(group.id()); + for (HugeGroup group : authManager.listAllGroups(-1)) { + authManager.deleteGroup(group.id()); } - for (HugeTarget target : userManager.listAllTargets(-1)) { - userManager.deleteTarget(target.id()); + for (HugeTarget target : authManager.listAllTargets(-1)) { + authManager.deleteTarget(target.id()); } - Assert.assertEquals(0, userManager.listAllAccess(-1).size()); - Assert.assertEquals(0, userManager.listAllBelong(-1).size()); + Assert.assertEquals(0, authManager.listAllAccess(-1).size()); + Assert.assertEquals(0, authManager.listAllBelong(-1).size()); } @Test public void testCreateUser() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id = userManager.createUser(makeUser("tom", "pass1")); + Id id = authManager.createUser(makeUser("tom", "pass1")); - HugeUser user = userManager.getUser(id); + HugeUser user = authManager.getUser(id); Assert.assertEquals("tom", user.name()); Assert.assertEquals("pass1", user.password()); Assert.assertEquals(user.create(), user.update()); @@ -94,7 +94,7 @@ public void testCreateUser() { Assert.assertEquals(expected, user.asMap()); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.createUser(makeUser("tom", "pass1")); + authManager.createUser(makeUser("tom", "pass1")); }, e -> { Assert.assertContains("Can't save user", e.getMessage()); Assert.assertContains("that already exists", e.getMessage()); @@ -104,7 +104,7 @@ public void testCreateUser() { @Test public void testCreateUserWithDetailsInfo() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); HugeUser user = new HugeUser("james"); user.password("pass2"); @@ -113,9 +113,9 @@ public void testCreateUserWithDetailsInfo() { user.avatar("http://image.baidu.com/image1"); user.creator("admin"); - Id id = userManager.createUser(user); + Id id = authManager.createUser(user); - user = userManager.getUser(id); + user = authManager.getUser(id); Assert.assertEquals("james", user.name()); Assert.assertEquals("pass2", user.password()); Assert.assertEquals(user.create(), user.update()); @@ -139,24 +139,24 @@ public void testCreateUserWithDetailsInfo() { @Test public void testListUsers() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createUser(makeUser("tom", "pass1")); - Id id2 = userManager.createUser(makeUser("james", "pass2")); + Id id1 = authManager.createUser(makeUser("tom", "pass1")); + Id id2 = authManager.createUser(makeUser("james", "pass2")); - List users = userManager.listUsers(ImmutableList.of(id1, + List users = authManager.listUsers(ImmutableList.of(id1, id2)); Assert.assertEquals(2, users.size()); Assert.assertEquals("tom", users.get(0).name()); Assert.assertEquals("james", users.get(1).name()); - users = userManager.listUsers(ImmutableList.of(id1, id2, id2)); + users = authManager.listUsers(ImmutableList.of(id1, id2, id2)); Assert.assertEquals(3, users.size()); Assert.assertEquals("tom", users.get(0).name()); Assert.assertEquals("james", users.get(1).name()); Assert.assertEquals("james", users.get(2).name()); - users = userManager.listUsers(ImmutableList.of(id1, id2, + users = authManager.listUsers(ImmutableList.of(id1, id2, IdGenerator.of("fake"))); Assert.assertEquals(2, users.size()); } @@ -164,73 +164,73 @@ public void testListUsers() { @Test public void testListAllUsers() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - userManager.createUser(makeUser("tom", "pass1")); - userManager.createUser(makeUser("james", "pass2")); + authManager.createUser(makeUser("tom", "pass1")); + authManager.createUser(makeUser("james", "pass2")); - List users = userManager.listAllUsers(-1); + List users = authManager.listAllUsers(-1); Assert.assertEquals(2, users.size()); Assert.assertEquals(ImmutableSet.of("tom", "james"), ImmutableSet.of(users.get(0).name(), users.get(1).name())); - Assert.assertEquals(0, userManager.listAllUsers(0).size()); - Assert.assertEquals(1, userManager.listAllUsers(1).size()); - Assert.assertEquals(2, userManager.listAllUsers(2).size()); - Assert.assertEquals(2, userManager.listAllUsers(3).size()); + Assert.assertEquals(0, authManager.listAllUsers(0).size()); + Assert.assertEquals(1, authManager.listAllUsers(1).size()); + Assert.assertEquals(2, authManager.listAllUsers(2).size()); + Assert.assertEquals(2, authManager.listAllUsers(3).size()); } @Test public void testGetUser() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id = userManager.createUser(makeUser("tom", "pass1")); + Id id = authManager.createUser(makeUser("tom", "pass1")); - HugeUser user = userManager.getUser(id); + HugeUser user = authManager.getUser(id); Assert.assertEquals("tom", user.name()); Assert.assertEquals("pass1", user.password()); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getUser(IdGenerator.of("fake")); + authManager.getUser(IdGenerator.of("fake")); }); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getUser(null); + authManager.getUser(null); }); } @Test public void testMatchUser() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); String password = StringEncoding.hashPassword("pass1"); - userManager.createUser(makeUser("tom", password)); + authManager.createUser(makeUser("tom", password)); - Assert.assertNotNull(userManager.matchUser("tom", "pass1")); - Assert.assertNull(userManager.matchUser("tom", "pass2")); - Assert.assertNull(userManager.matchUser("Tom", "pass1")); + Assert.assertNotNull(authManager.matchUser("tom", "pass1")); + Assert.assertNull(authManager.matchUser("tom", "pass2")); + Assert.assertNull(authManager.matchUser("Tom", "pass1")); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.matchUser("Tom", null); + authManager.matchUser("Tom", null); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.matchUser(null, "pass1"); + authManager.matchUser(null, "pass1"); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.matchUser(null, null); + authManager.matchUser(null, null); }); } @Test public void testUpdateUser() throws InterruptedException { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id = userManager.createUser(makeUser("tom", "pass1")); - HugeUser user = userManager.getUser(id); + Id id = authManager.createUser(makeUser("tom", "pass1")); + HugeUser user = authManager.getUser(id); Assert.assertEquals("tom", user.name()); Assert.assertEquals("pass1", user.password()); Assert.assertEquals(user.create(), user.update()); @@ -239,16 +239,16 @@ public void testUpdateUser() throws InterruptedException { Thread.sleep(1L); user.password("pass2"); - userManager.updateUser(user); + authManager.updateUser(user); - HugeUser user2 = userManager.getUser(id); + HugeUser user2 = authManager.getUser(id); Assert.assertEquals("tom", user2.name()); Assert.assertEquals("pass2", user2.password()); Assert.assertEquals(oldUpdateTime, user2.create()); Assert.assertNotEquals(oldUpdateTime, user2.update()); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.updateUser(makeUser("tom2", "pass1")); + authManager.updateUser(makeUser("tom2", "pass1")); }, e -> { Assert.assertContains("Can't save user", e.getMessage()); Assert.assertContains("that not exists", e.getMessage()); @@ -258,30 +258,30 @@ public void testUpdateUser() throws InterruptedException { @Test public void testDeleteUser() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createUser(makeUser("tom", "pass1")); - Id id2 = userManager.createUser(makeUser("james", "pass2")); - Assert.assertEquals(2, userManager.listAllUsers(-1).size()); + Id id1 = authManager.createUser(makeUser("tom", "pass1")); + Id id2 = authManager.createUser(makeUser("james", "pass2")); + Assert.assertEquals(2, authManager.listAllUsers(-1).size()); - HugeUser user = userManager.deleteUser(id1); + HugeUser user = authManager.deleteUser(id1); Assert.assertEquals("tom", user.name()); - Assert.assertEquals(1, userManager.listAllUsers(-1).size()); + Assert.assertEquals(1, authManager.listAllUsers(-1).size()); - user = userManager.deleteUser(id2); + user = authManager.deleteUser(id2); Assert.assertEquals("james", user.name()); - Assert.assertEquals(0, userManager.listAllUsers(-1).size()); + Assert.assertEquals(0, authManager.listAllUsers(-1).size()); } @Test public void testCreateGroup() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); HugeGroup group = makeGroup("group1"); - Id id = userManager.createGroup(group); + Id id = authManager.createGroup(group); - group = userManager.getGroup(id); + group = authManager.getGroup(id); Assert.assertEquals("group1", group.name()); Assert.assertEquals(null, group.description()); Assert.assertEquals(group.create(), group.update()); @@ -295,9 +295,9 @@ public void testCreateGroup() { group = makeGroup("group2"); group.description("something"); - id = userManager.createGroup(group); + id = authManager.createGroup(group); - group = userManager.getGroup(id); + group = authManager.getGroup(id); Assert.assertEquals("group2", group.name()); Assert.assertEquals("something", group.description()); Assert.assertEquals(group.create(), group.update()); @@ -316,24 +316,24 @@ public void testCreateGroup() { @Test public void testListGroups() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createGroup(makeGroup("group1")); - Id id2 = userManager.createGroup(makeGroup("group2")); + Id id1 = authManager.createGroup(makeGroup("group1")); + Id id2 = authManager.createGroup(makeGroup("group2")); - List groups = userManager.listGroups(ImmutableList.of(id1, + List groups = authManager.listGroups(ImmutableList.of(id1, id2)); Assert.assertEquals(2, groups.size()); Assert.assertEquals("group1", groups.get(0).name()); Assert.assertEquals("group2", groups.get(1).name()); - groups = userManager.listGroups(ImmutableList.of(id1, id2, id2)); + groups = authManager.listGroups(ImmutableList.of(id1, id2, id2)); Assert.assertEquals(3, groups.size()); Assert.assertEquals("group1", groups.get(0).name()); Assert.assertEquals("group2", groups.get(1).name()); Assert.assertEquals("group2", groups.get(2).name()); - groups = userManager.listGroups(ImmutableList.of( + groups = authManager.listGroups(ImmutableList.of( id1, id2, IdGenerator.of("fake"))); Assert.assertEquals(2, groups.size()); } @@ -341,56 +341,56 @@ public void testListGroups() { @Test public void testListAllGroups() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - userManager.createGroup(makeGroup("group1")); - userManager.createGroup(makeGroup("group2")); + authManager.createGroup(makeGroup("group1")); + authManager.createGroup(makeGroup("group2")); - List groups = userManager.listAllGroups(-1); + List groups = authManager.listAllGroups(-1); Assert.assertEquals(2, groups.size()); Assert.assertEquals(ImmutableSet.of("group1", "group2"), ImmutableSet.of(groups.get(0).name(), groups.get(1).name())); - Assert.assertEquals(0, userManager.listAllGroups(0).size()); - Assert.assertEquals(1, userManager.listAllGroups(1).size()); - Assert.assertEquals(2, userManager.listAllGroups(2).size()); - Assert.assertEquals(2, userManager.listAllGroups(3).size()); + Assert.assertEquals(0, authManager.listAllGroups(0).size()); + Assert.assertEquals(1, authManager.listAllGroups(1).size()); + Assert.assertEquals(2, authManager.listAllGroups(2).size()); + Assert.assertEquals(2, authManager.listAllGroups(3).size()); } @Test public void testGetGroup() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id = userManager.createGroup(makeGroup("group-test")); - HugeGroup group = userManager.getGroup(id); + Id id = authManager.createGroup(makeGroup("group-test")); + HugeGroup group = authManager.getGroup(id); Assert.assertEquals("group-test", group.name()); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getGroup(IdGenerator.of("fake")); + authManager.getGroup(IdGenerator.of("fake")); }); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getGroup(null); + authManager.getGroup(null); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - userManager.getGroup(user); + Id user = authManager.createUser(makeUser("tom", "pass1")); + authManager.getGroup(user); }); } @Test public void testUpdateGroup() throws InterruptedException { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); HugeGroup group = makeGroup("group1"); group.description("description1"); - Id id = userManager.createGroup(group); + Id id = authManager.createGroup(group); - group = userManager.getGroup(id); + group = authManager.getGroup(id); Assert.assertEquals("group1", group.name()); Assert.assertEquals("description1", group.description()); Assert.assertEquals(group.create(), group.update()); @@ -399,9 +399,9 @@ public void testUpdateGroup() throws InterruptedException { Thread.sleep(1L); group.description("description2"); - userManager.updateGroup(group); + authManager.updateGroup(group); - HugeGroup group2 = userManager.getGroup(id); + HugeGroup group2 = authManager.getGroup(id); Assert.assertEquals("group1", group2.name()); Assert.assertEquals("description2", group2.description()); Assert.assertEquals(oldUpdateTime, group2.create()); @@ -411,36 +411,36 @@ public void testUpdateGroup() throws InterruptedException { @Test public void testDeleteGroup() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createGroup(makeGroup("group1")); - Id id2 = userManager.createGroup(makeGroup("group2")); - Assert.assertEquals(2, userManager.listAllGroups(-1).size()); + Id id1 = authManager.createGroup(makeGroup("group1")); + Id id2 = authManager.createGroup(makeGroup("group2")); + Assert.assertEquals(2, authManager.listAllGroups(-1).size()); - HugeGroup group = userManager.deleteGroup(id1); + HugeGroup group = authManager.deleteGroup(id1); Assert.assertEquals("group1", group.name()); - Assert.assertEquals(1, userManager.listAllGroups(-1).size()); + Assert.assertEquals(1, authManager.listAllGroups(-1).size()); - group = userManager.deleteGroup(id2); + group = authManager.deleteGroup(id2); Assert.assertEquals("group2", group.name()); - Assert.assertEquals(0, userManager.listAllGroups(-1).size()); + Assert.assertEquals(0, authManager.listAllGroups(-1).size()); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - userManager.deleteGroup(user); + Id user = authManager.createUser(makeUser("tom", "pass1")); + authManager.deleteGroup(user); }); } @Test public void testCreateTarget() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); HugeTarget target = makeTarget("graph1", "127.0.0.1:8080"); target.creator("admin"); - Id id = userManager.createTarget(target); + Id id = authManager.createTarget(target); - target = userManager.getTarget(id); + target = authManager.getTarget(id); Assert.assertEquals("graph1", target.name()); Assert.assertEquals("127.0.0.1:8080", target.url()); Assert.assertEquals(target.create(), target.update()); @@ -460,16 +460,16 @@ public void testCreateTarget() { @Test public void testCreateTargetWithRess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); String ress = "[{\"type\": \"VERTEX\", \"label\": \"person\", " + "\"properties\":{\"city\": \"Beijing\"}}, " + "{\"type\": \"EDGE\", \"label\": \"transfer\"}]"; HugeTarget target = makeTarget("graph1", "127.0.0.1:8080"); target.resources(ress); - Id id = userManager.createTarget(target); + Id id = authManager.createTarget(target); - target = userManager.getTarget(id); + target = authManager.getTarget(id); Assert.assertEquals("graph1", target.name()); Assert.assertEquals("127.0.0.1:8080", target.url()); Assert.assertEquals(target.create(), target.update()); @@ -485,24 +485,24 @@ public void testCreateTargetWithRess() { @Test public void testListTargets() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createTarget(makeTarget("target1", "url1")); - Id id2 = userManager.createTarget(makeTarget("target2", "url2")); + Id id1 = authManager.createTarget(makeTarget("target1", "url1")); + Id id2 = authManager.createTarget(makeTarget("target2", "url2")); - List targets = userManager.listTargets(ImmutableList.of( + List targets = authManager.listTargets(ImmutableList.of( id1, id2)); Assert.assertEquals(2, targets.size()); Assert.assertEquals("target1", targets.get(0).name()); Assert.assertEquals("target2", targets.get(1).name()); - targets = userManager.listTargets(ImmutableList.of(id1, id2, id2)); + targets = authManager.listTargets(ImmutableList.of(id1, id2, id2)); Assert.assertEquals(3, targets.size()); Assert.assertEquals("target1", targets.get(0).name()); Assert.assertEquals("target2", targets.get(1).name()); Assert.assertEquals("target2", targets.get(2).name()); - targets = userManager.listTargets(ImmutableList.of( + targets = authManager.listTargets(ImmutableList.of( id1, id2, IdGenerator.of("fake"))); Assert.assertEquals(2, targets.size()); } @@ -510,55 +510,55 @@ public void testListTargets() { @Test public void testListAllTargets() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - userManager.createTarget(makeTarget("target1", "url1")); - userManager.createTarget(makeTarget("target2", "url1")); + authManager.createTarget(makeTarget("target1", "url1")); + authManager.createTarget(makeTarget("target2", "url1")); - List targets = userManager.listAllTargets(-1); + List targets = authManager.listAllTargets(-1); Assert.assertEquals(2, targets.size()); Assert.assertEquals(ImmutableSet.of("target1", "target2"), ImmutableSet.of(targets.get(0).name(), targets.get(1).name())); - Assert.assertEquals(0, userManager.listAllTargets(0).size()); - Assert.assertEquals(1, userManager.listAllTargets(1).size()); - Assert.assertEquals(2, userManager.listAllTargets(2).size()); - Assert.assertEquals(2, userManager.listAllTargets(3).size()); + Assert.assertEquals(0, authManager.listAllTargets(0).size()); + Assert.assertEquals(1, authManager.listAllTargets(1).size()); + Assert.assertEquals(2, authManager.listAllTargets(2).size()); + Assert.assertEquals(2, authManager.listAllTargets(3).size()); } @Test public void testGetTarget() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id = userManager.createTarget(makeTarget("target-test", "url1")); - HugeTarget target = userManager.getTarget(id); + Id id = authManager.createTarget(makeTarget("target-test", "url1")); + HugeTarget target = authManager.getTarget(id); Assert.assertEquals("target-test", target.name()); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getTarget(IdGenerator.of("fake")); + authManager.getTarget(IdGenerator.of("fake")); }); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getTarget(null); + authManager.getTarget(null); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - userManager.getTarget(user); + Id user = authManager.createUser(makeUser("tom", "pass1")); + authManager.getTarget(user); }); } @Test public void testUpdateTarget() throws InterruptedException { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); HugeTarget target = makeTarget("target1", "url1"); - Id id = userManager.createTarget(target); + Id id = authManager.createTarget(target); - target = userManager.getTarget(id); + target = authManager.getTarget(id); Assert.assertEquals("target1", target.name()); Assert.assertEquals("url1", target.url()); Assert.assertEquals(target.create(), target.update()); @@ -567,9 +567,9 @@ public void testUpdateTarget() throws InterruptedException { Thread.sleep(1L); target.url("url2"); - userManager.updateTarget(target); + authManager.updateTarget(target); - HugeTarget target2 = userManager.getTarget(id); + HugeTarget target2 = authManager.getTarget(id); Assert.assertEquals("target1", target2.name()); Assert.assertEquals("url2", target2.url()); Assert.assertEquals(oldUpdateTime, target2.create()); @@ -579,39 +579,39 @@ public void testUpdateTarget() throws InterruptedException { @Test public void testDeleteTarget() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id id1 = userManager.createTarget(makeTarget("target1", "url1")); - Id id2 = userManager.createTarget(makeTarget("target2", "url2")); - Assert.assertEquals(2, userManager.listAllTargets(-1).size()); + Id id1 = authManager.createTarget(makeTarget("target1", "url1")); + Id id2 = authManager.createTarget(makeTarget("target2", "url2")); + Assert.assertEquals(2, authManager.listAllTargets(-1).size()); - HugeTarget target = userManager.deleteTarget(id1); + HugeTarget target = authManager.deleteTarget(id1); Assert.assertEquals("target1", target.name()); - Assert.assertEquals(1, userManager.listAllTargets(-1).size()); + Assert.assertEquals(1, authManager.listAllTargets(-1).size()); - target = userManager.deleteTarget(id2); + target = authManager.deleteTarget(id2); Assert.assertEquals("target2", target.name()); - Assert.assertEquals(0, userManager.listAllTargets(-1).size()); + Assert.assertEquals(0, authManager.listAllTargets(-1).size()); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - userManager.deleteTarget(user); + Id user = authManager.createUser(makeUser("tom", "pass1")); + authManager.deleteTarget(user); }); } @Test public void testCreateBelong() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - Id id1 = userManager.createBelong(makeBelong(user, group1)); - Id id2 = userManager.createBelong(makeBelong(user, group2)); + Id id1 = authManager.createBelong(makeBelong(user, group1)); + Id id2 = authManager.createBelong(makeBelong(user, group2)); - HugeBelong belong = userManager.getBelong(id1); + HugeBelong belong = authManager.getBelong(id1); Assert.assertEquals(user, belong.source()); Assert.assertEquals(group1, belong.target()); Assert.assertEquals(null, belong.description()); @@ -626,7 +626,7 @@ public void testCreateBelong() { "belong_update", belong.update())); Assert.assertEquals(expected, belong.asMap()); - belong = userManager.getBelong(id2); + belong = authManager.getBelong(id2); Assert.assertEquals(user, belong.source()); Assert.assertEquals(group2, belong.target()); Assert.assertEquals(null, belong.description()); @@ -641,21 +641,21 @@ public void testCreateBelong() { "belong_update", belong.update())); Assert.assertEquals(expected, belong.asMap()); - List belongs = userManager.listBelongByUser(user, -1); + List belongs = authManager.listBelongByUser(user, -1); Assert.assertEquals(2, belongs.size()); - belongs = userManager.listBelongByGroup(group1, -1); + belongs = authManager.listBelongByGroup(group1, -1); Assert.assertEquals(1, belongs.size()); - belongs = userManager.listBelongByGroup(group2, -1); + belongs = authManager.listBelongByGroup(group2, -1); Assert.assertEquals(1, belongs.size()); // Create belong with description - Id user1 = userManager.createUser(makeUser("user1", "pass1")); + Id user1 = authManager.createUser(makeUser("user1", "pass1")); belong = makeBelong(user1, group1); belong.description("something2"); - Id id3 = userManager.createBelong(belong); - belong = userManager.getBelong(id3); + Id id3 = authManager.createBelong(belong); + belong = authManager.getBelong(id3); Assert.assertEquals(user1, belong.source()); Assert.assertEquals(group1, belong.target()); Assert.assertEquals("something2", belong.description()); @@ -672,7 +672,7 @@ public void testCreateBelong() { Assert.assertEquals(expected, belong.asMap()); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.createBelong(makeBelong(user, group1)); + authManager.createBelong(makeBelong(user, group1)); }, e -> { Assert.assertContains("Can't save belong", e.getMessage()); Assert.assertContains("that already exists", e.getMessage()); @@ -682,16 +682,16 @@ public void testCreateBelong() { @Test public void testListBelong() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - Id id1 = userManager.createBelong(makeBelong(user, group1)); - Id id2 = userManager.createBelong(makeBelong(user, group2)); + Id id1 = authManager.createBelong(makeBelong(user, group1)); + Id id2 = authManager.createBelong(makeBelong(user, group2)); - List belongs = userManager.listBelong(ImmutableList.of( + List belongs = authManager.listBelong(ImmutableList.of( id1, id2)); Assert.assertEquals(2, belongs.size()); Assert.assertEquals(user, belongs.get(0).source()); @@ -699,24 +699,24 @@ public void testListBelong() { Assert.assertEquals(group1, belongs.get(0).target()); Assert.assertEquals(group2, belongs.get(1).target()); - belongs = userManager.listBelong(ImmutableList.of(id1, id2, id2)); + belongs = authManager.listBelong(ImmutableList.of(id1, id2, id2)); Assert.assertEquals(3, belongs.size()); - belongs = userManager.listBelong(ImmutableList.of( + belongs = authManager.listBelong(ImmutableList.of( id1, id2, IdGenerator.of("fake"))); Assert.assertEquals(2, belongs.size()); - belongs = userManager.listBelongByUser(user, -1); + belongs = authManager.listBelongByUser(user, -1); Assert.assertEquals(2, belongs.size()); Assert.assertEquals(user, belongs.get(0).source()); Assert.assertEquals(user, belongs.get(1).source()); - belongs = userManager.listBelongByGroup(group1, -1); + belongs = authManager.listBelongByGroup(group1, -1); Assert.assertEquals(1, belongs.size()); Assert.assertEquals(user, belongs.get(0).source()); Assert.assertEquals(group1, belongs.get(0).target()); - belongs = userManager.listBelongByGroup(group2, -1); + belongs = authManager.listBelongByGroup(group2, -1); Assert.assertEquals(1, belongs.size()); Assert.assertEquals(user, belongs.get(0).source()); Assert.assertEquals(group2, belongs.get(0).target()); @@ -725,74 +725,74 @@ public void testListBelong() { @Test public void testListAllBelong() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - userManager.createBelong(makeBelong(user, group1)); - userManager.createBelong(makeBelong(user, group2)); + authManager.createBelong(makeBelong(user, group1)); + authManager.createBelong(makeBelong(user, group2)); - List belongs = userManager.listAllBelong(-1); + List belongs = authManager.listAllBelong(-1); Assert.assertEquals(2, belongs.size()); Assert.assertEquals(ImmutableSet.of(group1, group2), ImmutableSet.of(belongs.get(0).target(), belongs.get(1).target())); - Assert.assertEquals(0, userManager.listAllBelong(0).size()); - Assert.assertEquals(1, userManager.listAllBelong(1).size()); - Assert.assertEquals(2, userManager.listAllBelong(2).size()); - Assert.assertEquals(2, userManager.listAllBelong(3).size()); + Assert.assertEquals(0, authManager.listAllBelong(0).size()); + Assert.assertEquals(1, authManager.listAllBelong(1).size()); + Assert.assertEquals(2, authManager.listAllBelong(2).size()); + Assert.assertEquals(2, authManager.listAllBelong(3).size()); } @Test public void testGetBelong() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - Id id1 = userManager.createBelong(makeBelong(user, group1)); - Id id2 = userManager.createBelong(makeBelong(user, group2)); + Id id1 = authManager.createBelong(makeBelong(user, group1)); + Id id2 = authManager.createBelong(makeBelong(user, group2)); - HugeBelong belong1 = userManager.getBelong(id1); + HugeBelong belong1 = authManager.getBelong(id1); Assert.assertEquals(group1, belong1.target()); - HugeBelong belong2 = userManager.getBelong(id2); + HugeBelong belong2 = authManager.getBelong(id2); Assert.assertEquals(group2, belong2.target()); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getBelong(IdGenerator.of("fake")); + authManager.getBelong(IdGenerator.of("fake")); }); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getBelong(null); + authManager.getBelong(null); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id target = userManager.createTarget(makeTarget("graph1", "")); - Id access = userManager.createAccess(makeAccess(group1, target, + Id target = authManager.createTarget(makeTarget("graph1", "")); + Id access = authManager.createAccess(makeAccess(group1, target, HugePermission.READ)); - userManager.getBelong(access); + authManager.getBelong(access); }); } @Test public void testUpdateBelong() throws InterruptedException { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group = userManager.createGroup(makeGroup("group1")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group = authManager.createGroup(makeGroup("group1")); HugeBelong belong = makeBelong(user, group); belong.description("description1"); - Id id = userManager.createBelong(belong); + Id id = authManager.createBelong(belong); - belong = userManager.getBelong(id); + belong = authManager.getBelong(id); Assert.assertEquals(user, belong.source()); Assert.assertEquals(group, belong.target()); Assert.assertEquals("description1", belong.description()); @@ -802,9 +802,9 @@ public void testUpdateBelong() throws InterruptedException { Thread.sleep(1L); belong.description("description2"); - userManager.updateBelong(belong); + authManager.updateBelong(belong); - HugeBelong belong2 = userManager.getBelong(id); + HugeBelong belong2 = authManager.getBelong(id); Assert.assertEquals(user, belong.source()); Assert.assertEquals(group, belong.target()); Assert.assertEquals("description2", belong.description()); @@ -812,9 +812,9 @@ public void testUpdateBelong() throws InterruptedException { Assert.assertNotEquals(oldUpdateTime, belong2.update()); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id group2 = userManager.createGroup(makeGroup("group2")); + Id group2 = authManager.createGroup(makeGroup("group2")); HugeBelong belong3 = makeBelong(user, group2); - userManager.updateBelong(belong3); + authManager.updateBelong(belong3); }, e -> { Assert.assertContains("Can't save belong", e.getMessage()); Assert.assertContains("that not exists", e.getMessage()); @@ -824,54 +824,54 @@ public void testUpdateBelong() throws InterruptedException { @Test public void testDeleteBelong() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - Id id1 = userManager.createBelong(makeBelong(user, group1)); - Id id2 = userManager.createBelong(makeBelong(user, group2)); + Id id1 = authManager.createBelong(makeBelong(user, group1)); + Id id2 = authManager.createBelong(makeBelong(user, group2)); - Assert.assertEquals(2, userManager.listAllBelong(-1).size()); + Assert.assertEquals(2, authManager.listAllBelong(-1).size()); - HugeBelong belong = userManager.deleteBelong(id1); + HugeBelong belong = authManager.deleteBelong(id1); Assert.assertEquals(group1, belong.target()); - Assert.assertEquals(1, userManager.listAllBelong(-1).size()); - Assert.assertEquals(1, userManager.listAllBelong(2).size()); + Assert.assertEquals(1, authManager.listAllBelong(-1).size()); + Assert.assertEquals(1, authManager.listAllBelong(2).size()); - belong = userManager.deleteBelong(id2); + belong = authManager.deleteBelong(id2); Assert.assertEquals(group2, belong.target()); - Assert.assertEquals(0, userManager.listAllBelong(-1).size()); + Assert.assertEquals(0, authManager.listAllBelong(-1).size()); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id target = userManager.createTarget(makeTarget("graph1", "")); - Id access = userManager.createAccess(makeAccess(group1, target, + Id target = authManager.createTarget(makeTarget("graph1", "")); + Id access = authManager.createAccess(makeAccess(group1, target, HugePermission.READ)); - userManager.deleteBelong(access); + authManager.deleteBelong(access); }); } @Test public void testCreateAccess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); - Id target1 = userManager.createTarget(makeTarget("graph1", "url1")); - Id target2 = userManager.createTarget(makeTarget("graph2", "url2")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); + Id target1 = authManager.createTarget(makeTarget("graph1", "url1")); + Id target2 = authManager.createTarget(makeTarget("graph2", "url2")); - Id id1 = userManager.createAccess(makeAccess(group1, target1, + Id id1 = authManager.createAccess(makeAccess(group1, target1, HugePermission.READ)); - Id id2 = userManager.createAccess(makeAccess(group1, target1, + Id id2 = authManager.createAccess(makeAccess(group1, target1, HugePermission.WRITE)); - Id id3 = userManager.createAccess(makeAccess(group1, target2, + Id id3 = authManager.createAccess(makeAccess(group1, target2, HugePermission.READ)); - Id id4 = userManager.createAccess(makeAccess(group2, target2, + Id id4 = authManager.createAccess(makeAccess(group2, target2, HugePermission.READ)); - HugeAccess access = userManager.getAccess(id1); + HugeAccess access = authManager.getAccess(id1); Assert.assertEquals(group1, access.source()); Assert.assertEquals(target1, access.target()); Assert.assertEquals(HugePermission.READ, access.permission()); @@ -888,7 +888,7 @@ public void testCreateAccess() { "access_update", access.update())); Assert.assertEquals(expected, access.asMap()); - access = userManager.getAccess(id2); + access = authManager.getAccess(id2); Assert.assertEquals(group1, access.source()); Assert.assertEquals(target1, access.target()); Assert.assertEquals(HugePermission.WRITE, access.permission()); @@ -905,7 +905,7 @@ public void testCreateAccess() { "access_update", access.update())); Assert.assertEquals(expected, access.asMap()); - access = userManager.getAccess(id3); + access = authManager.getAccess(id3); Assert.assertEquals(group1, access.source()); Assert.assertEquals(target2, access.target()); Assert.assertEquals(HugePermission.READ, access.permission()); @@ -922,7 +922,7 @@ public void testCreateAccess() { "access_update", access.update())); Assert.assertEquals(expected, access.asMap()); - access = userManager.getAccess(id4); + access = authManager.getAccess(id4); Assert.assertEquals(group2, access.source()); Assert.assertEquals(target2, access.target()); Assert.assertEquals(HugePermission.READ, access.permission()); @@ -939,23 +939,23 @@ public void testCreateAccess() { "access_update", access.update())); Assert.assertEquals(expected, access.asMap()); - List accesses = userManager.listAccessByGroup(group1, -1); + List accesses = authManager.listAccessByGroup(group1, -1); Assert.assertEquals(3, accesses.size()); - accesses = userManager.listAccessByGroup(group2, -1); + accesses = authManager.listAccessByGroup(group2, -1); Assert.assertEquals(1, accesses.size()); - accesses = userManager.listAccessByTarget(target1, -1); + accesses = authManager.listAccessByTarget(target1, -1); Assert.assertEquals(2, accesses.size()); - accesses = userManager.listAccessByTarget(target2, -1); + accesses = authManager.listAccessByTarget(target2, -1); Assert.assertEquals(2, accesses.size()); // Create access with description access = makeAccess(group2, target2, HugePermission.WRITE); access.description("something3"); - Id id5 = userManager.createAccess(access); - access = userManager.getAccess(id5); + Id id5 = authManager.createAccess(access); + access = authManager.getAccess(id5); Assert.assertEquals(group2, access.source()); Assert.assertEquals(target2, access.target()); Assert.assertEquals(HugePermission.WRITE, access.permission()); @@ -975,7 +975,7 @@ public void testCreateAccess() { Assert.assertEquals(expected, access.asMap()); Assert.assertThrows(IllegalArgumentException.class, () -> { - userManager.createAccess(makeAccess(group1, target1, + authManager.createAccess(makeAccess(group1, target1, HugePermission.READ)); }, e -> { Assert.assertContains("Can't save access", e.getMessage()); @@ -986,18 +986,18 @@ public void testCreateAccess() { @Test public void testListAccess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group = userManager.createGroup(makeGroup("group1")); - Id target1 = userManager.createTarget(makeTarget("graph1", "url1")); - Id target2 = userManager.createTarget(makeTarget("graph2", "url2")); + Id group = authManager.createGroup(makeGroup("group1")); + Id target1 = authManager.createTarget(makeTarget("graph1", "url1")); + Id target2 = authManager.createTarget(makeTarget("graph2", "url2")); - Id id1 = userManager.createAccess(makeAccess(group, target1, + Id id1 = authManager.createAccess(makeAccess(group, target1, HugePermission.READ)); - Id id2 = userManager.createAccess(makeAccess(group, target2, + Id id2 = authManager.createAccess(makeAccess(group, target2, HugePermission.READ)); - List access = userManager.listAccess(ImmutableList.of( + List access = authManager.listAccess(ImmutableList.of( id1, id2)); Assert.assertEquals(2, access.size()); Assert.assertEquals(group, access.get(0).source()); @@ -1005,24 +1005,24 @@ public void testListAccess() { Assert.assertEquals(target1, access.get(0).target()); Assert.assertEquals(target2, access.get(1).target()); - access = userManager.listAccess(ImmutableList.of(id1, id2, id2)); + access = authManager.listAccess(ImmutableList.of(id1, id2, id2)); Assert.assertEquals(3, access.size()); - access = userManager.listAccess(ImmutableList.of( + access = authManager.listAccess(ImmutableList.of( id1, id2, IdGenerator.of("fake"))); Assert.assertEquals(2, access.size()); - access = userManager.listAccessByGroup(group, -1); + access = authManager.listAccessByGroup(group, -1); Assert.assertEquals(2, access.size()); Assert.assertEquals(group, access.get(0).source()); Assert.assertEquals(group, access.get(1).source()); - access = userManager.listAccessByTarget(target1, -1); + access = authManager.listAccessByTarget(target1, -1); Assert.assertEquals(1, access.size()); Assert.assertEquals(group, access.get(0).source()); Assert.assertEquals(target1, access.get(0).target()); - access = userManager.listAccessByTarget(target2, -1); + access = authManager.listAccessByTarget(target2, -1); Assert.assertEquals(1, access.size()); Assert.assertEquals(group, access.get(0).source()); Assert.assertEquals(target2, access.get(0).target()); @@ -1031,75 +1031,75 @@ public void testListAccess() { @Test public void testListAllAccess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group = userManager.createGroup(makeGroup("group1")); - Id target1 = userManager.createTarget(makeTarget("graph1", "url1")); - Id target2 = userManager.createTarget(makeTarget("graph2", "url2")); + Id group = authManager.createGroup(makeGroup("group1")); + Id target1 = authManager.createTarget(makeTarget("graph1", "url1")); + Id target2 = authManager.createTarget(makeTarget("graph2", "url2")); - userManager.createAccess(makeAccess(group, target1, + authManager.createAccess(makeAccess(group, target1, HugePermission.READ)); - userManager.createAccess(makeAccess(group, target2, + authManager.createAccess(makeAccess(group, target2, HugePermission.READ)); - List access = userManager.listAllAccess(-1); + List access = authManager.listAllAccess(-1); Assert.assertEquals(2, access.size()); Assert.assertEquals(ImmutableSet.of(target1, target2), ImmutableSet.of(access.get(0).target(), access.get(1).target())); - Assert.assertEquals(0, userManager.listAllAccess(0).size()); - Assert.assertEquals(1, userManager.listAllAccess(1).size()); - Assert.assertEquals(2, userManager.listAllAccess(2).size()); - Assert.assertEquals(2, userManager.listAllAccess(3).size()); + Assert.assertEquals(0, authManager.listAllAccess(0).size()); + Assert.assertEquals(1, authManager.listAllAccess(1).size()); + Assert.assertEquals(2, authManager.listAllAccess(2).size()); + Assert.assertEquals(2, authManager.listAllAccess(3).size()); } @Test public void testGetAccess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group = userManager.createGroup(makeGroup("group1")); - Id target1 = userManager.createTarget(makeTarget("graph1", "url1")); - Id target2 = userManager.createTarget(makeTarget("graph2", "url2")); + Id group = authManager.createGroup(makeGroup("group1")); + Id target1 = authManager.createTarget(makeTarget("graph1", "url1")); + Id target2 = authManager.createTarget(makeTarget("graph2", "url2")); - Id id1 = userManager.createAccess(makeAccess(group, target1, + Id id1 = authManager.createAccess(makeAccess(group, target1, HugePermission.READ)); - Id id2 = userManager.createAccess(makeAccess(group, target2, + Id id2 = authManager.createAccess(makeAccess(group, target2, HugePermission.READ)); - HugeAccess access1 = userManager.getAccess(id1); + HugeAccess access1 = authManager.getAccess(id1); Assert.assertEquals(target1, access1.target()); - HugeAccess access2 = userManager.getAccess(id2); + HugeAccess access2 = authManager.getAccess(id2); Assert.assertEquals(target2, access2.target()); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getAccess(IdGenerator.of("fake")); + authManager.getAccess(IdGenerator.of("fake")); }); Assert.assertThrows(NotFoundException.class, () -> { - userManager.getAccess(null); + authManager.getAccess(null); }); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id belong = userManager.createBelong(makeBelong(user, group)); - userManager.getAccess(belong); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id belong = authManager.createBelong(makeBelong(user, group)); + authManager.getAccess(belong); }); } @Test public void testUpdateAccess() throws InterruptedException { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group = userManager.createGroup(makeGroup("group1")); - Id target = userManager.createTarget(makeTarget("graph1", "url1")); - Id id = userManager.createAccess(makeAccess(group, target, + Id group = authManager.createGroup(makeGroup("group1")); + Id target = authManager.createTarget(makeTarget("graph1", "url1")); + Id id = authManager.createAccess(makeAccess(group, target, HugePermission.READ)); - HugeAccess access = userManager.getAccess(id); + HugeAccess access = authManager.getAccess(id); Assert.assertEquals(group, access.source()); Assert.assertEquals(target, access.target()); Assert.assertEquals(HugePermission.READ, access.permission()); @@ -1109,9 +1109,9 @@ public void testUpdateAccess() throws InterruptedException { Thread.sleep(1L); access.permission(HugePermission.READ); - userManager.updateAccess(access); + authManager.updateAccess(access); - HugeAccess access2 = userManager.getAccess(id); + HugeAccess access2 = authManager.getAccess(id); Assert.assertEquals(group, access.source()); Assert.assertEquals(target, access.target()); Assert.assertEquals(HugePermission.READ, access.permission()); @@ -1120,7 +1120,7 @@ public void testUpdateAccess() throws InterruptedException { Assert.assertThrows(IllegalArgumentException.class, () -> { access.permission(HugePermission.WRITE); - userManager.updateAccess(access); + authManager.updateAccess(access); }, e -> { Assert.assertContains("Can't save access", e.getMessage()); Assert.assertContains("that not exists", e.getMessage()); @@ -1128,9 +1128,9 @@ public void testUpdateAccess() throws InterruptedException { access.permission(HugePermission.READ); access.description("description updated"); - id = userManager.updateAccess(access); + id = authManager.updateAccess(access); - HugeAccess access3 = userManager.getAccess(id); + HugeAccess access3 = authManager.getAccess(id); Assert.assertEquals(group, access3.source()); Assert.assertEquals(target, access3.target()); Assert.assertEquals("description updated", access3.description()); @@ -1141,7 +1141,7 @@ public void testUpdateAccess() throws InterruptedException { Assert.assertThrows(IllegalArgumentException.class, () -> { HugeAccess access4 = makeAccess(group, target, HugePermission.DELETE); - userManager.updateAccess(access4); + authManager.updateAccess(access4); }, e -> { Assert.assertContains("Can't save access", e.getMessage()); Assert.assertContains("that not exists", e.getMessage()); @@ -1151,50 +1151,50 @@ public void testUpdateAccess() throws InterruptedException { @Test public void testDeleteAccess() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - Id group = userManager.createGroup(makeGroup("group1")); - Id target1 = userManager.createTarget(makeTarget("graph1", "url1")); - Id target2 = userManager.createTarget(makeTarget("graph2", "url2")); + Id group = authManager.createGroup(makeGroup("group1")); + Id target1 = authManager.createTarget(makeTarget("graph1", "url1")); + Id target2 = authManager.createTarget(makeTarget("graph2", "url2")); - Id id1 = userManager.createAccess(makeAccess(group, target1, + Id id1 = authManager.createAccess(makeAccess(group, target1, HugePermission.READ)); - Id id2 = userManager.createAccess(makeAccess(group, target2, + Id id2 = authManager.createAccess(makeAccess(group, target2, HugePermission.READ)); - Assert.assertEquals(2, userManager.listAllAccess(-1).size()); + Assert.assertEquals(2, authManager.listAllAccess(-1).size()); - HugeAccess access = userManager.deleteAccess(id1); + HugeAccess access = authManager.deleteAccess(id1); Assert.assertEquals(target1, access.target()); - Assert.assertEquals(1, userManager.listAllAccess(-1).size()); - Assert.assertEquals(1, userManager.listAllAccess(2).size()); + Assert.assertEquals(1, authManager.listAllAccess(-1).size()); + Assert.assertEquals(1, authManager.listAllAccess(2).size()); - access = userManager.deleteAccess(id2); + access = authManager.deleteAccess(id2); Assert.assertEquals(target2, access.target()); - Assert.assertEquals(0, userManager.listAllAccess(-1).size()); + Assert.assertEquals(0, authManager.listAllAccess(-1).size()); Assert.assertThrows(IllegalArgumentException.class, () -> { - Id user = userManager.createUser(makeUser("tom", "pass1")); - Id belong = userManager.createBelong(makeBelong(user, group)); - userManager.deleteAccess(belong); + Id user = authManager.createUser(makeUser("tom", "pass1")); + Id belong = authManager.createBelong(makeBelong(user, group)); + authManager.deleteAccess(belong); }); } @Test public void testRolePermission() { HugeGraph graph = graph(); - UserManager userManager = graph.userManager(); + AuthManager authManager = graph.authManager(); - userManager.createUser(makeUser("admin", "pa")); + authManager.createUser(makeUser("admin", "pa")); - Id user0 = userManager.createUser(makeUser("hugegraph", "p0")); - Id user1 = userManager.createUser(makeUser("hugegraph1", "p1")); + Id user0 = authManager.createUser(makeUser("hugegraph", "p0")); + Id user1 = authManager.createUser(makeUser("hugegraph1", "p1")); - Id group1 = userManager.createGroup(makeGroup("group1")); - Id group2 = userManager.createGroup(makeGroup("group2")); + Id group1 = authManager.createGroup(makeGroup("group1")); + Id group2 = authManager.createGroup(makeGroup("group2")); - Id graph1 = userManager.createTarget(makeTarget("hugegraph", "url1")); - Id graph2 = userManager.createTarget(makeTarget("hugegraph1", "url2")); + Id graph1 = authManager.createTarget(makeTarget("hugegraph", "url1")); + Id graph2 = authManager.createTarget(makeTarget("hugegraph1", "url2")); List rv = HugeResource.parseResources( "[{\"type\": \"VERTEX\", \"label\": \"person\", " + @@ -1207,65 +1207,65 @@ public void testRolePermission() { " {\"type\": \"EDGE_LABEL\"}, {\"type\": \"INDEX_LABEL\"}]"); List rg = HugeResource.parseResources( "[{\"type\": \"GREMLIN\"}]"); - Id graph1v = userManager.createTarget(makeTarget("hugegraph-v", + Id graph1v = authManager.createTarget(makeTarget("hugegraph-v", "hugegraph", "url1", rv)); - Id graph1e = userManager.createTarget(makeTarget("hugegraph-e", + Id graph1e = authManager.createTarget(makeTarget("hugegraph-e", "hugegraph", "url1", re)); - Id graph1gremlin = userManager.createTarget(makeTarget("hugegraph-g", + Id graph1gremlin = authManager.createTarget(makeTarget("hugegraph-g", "hugegraph", "url1", rg)); - Id belong1 = userManager.createBelong(makeBelong(user0, group1)); - Id belong2 = userManager.createBelong(makeBelong(user1, group2)); + Id belong1 = authManager.createBelong(makeBelong(user0, group1)); + Id belong2 = authManager.createBelong(makeBelong(user1, group2)); - userManager.createAccess(makeAccess(group1, graph1, + authManager.createAccess(makeAccess(group1, graph1, HugePermission.READ)); - userManager.createAccess(makeAccess(group1, graph1, + authManager.createAccess(makeAccess(group1, graph1, HugePermission.WRITE)); - userManager.createAccess(makeAccess(group1, graph2, + authManager.createAccess(makeAccess(group1, graph2, HugePermission.READ)); - userManager.createAccess(makeAccess(group2, graph2, + authManager.createAccess(makeAccess(group2, graph2, HugePermission.READ)); - Id access1v = userManager.createAccess(makeAccess(group1, graph1v, + Id access1v = authManager.createAccess(makeAccess(group1, graph1v, HugePermission.READ)); - userManager.createAccess(makeAccess(group1, graph1v, + authManager.createAccess(makeAccess(group1, graph1v, HugePermission.WRITE)); - userManager.createAccess(makeAccess(group1, graph1e, + authManager.createAccess(makeAccess(group1, graph1e, HugePermission.READ)); - Id access1g = userManager.createAccess(makeAccess(group1, graph1gremlin, + Id access1g = authManager.createAccess(makeAccess(group1, graph1gremlin, HugePermission.EXECUTE)); RolePermission role; - role = userManager.rolePermission(userManager.getUser(user0)); + role = authManager.rolePermission(authManager.getUser(user0)); String expected = "{\"roles\":{\"hugegraph\":{\"READ\":[{\"type\":\"EDGE\",\"label\":\"write\",\"properties\":null},{\"type\":\"PROPERTY_KEY\",\"label\":\"*\",\"properties\":null},{\"type\":\"VERTEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"EDGE_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"INDEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"VERTEX\",\"label\":\"person\",\"properties\":{\"city\":\"Beijing\",\"age\":\"P.gte(20)\"}},{\"type\":\"VERTEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"PROPERTY_KEY\",\"label\":\"*\",\"properties\":null}],\"WRITE\":[{\"type\":\"VERTEX\",\"label\":\"person\",\"properties\":{\"city\":\"Beijing\",\"age\":\"P.gte(20)\"}},{\"type\":\"VERTEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"PROPERTY_KEY\",\"label\":\"*\",\"properties\":null}],\"EXECUTE\":[{\"type\":\"GREMLIN\",\"label\":\"*\",\"properties\":null}]},\"hugegraph1\":{\"READ\":[]}}}"; Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getBelong(belong1)); + role = authManager.rolePermission(authManager.getBelong(belong1)); Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getGroup(group1)); + role = authManager.rolePermission(authManager.getGroup(group1)); Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getAccess(access1v)); + role = authManager.rolePermission(authManager.getAccess(access1v)); expected = "{\"roles\":{\"hugegraph\":{\"READ\":[{\"type\":\"VERTEX\",\"label\":\"person\",\"properties\":{\"city\":\"Beijing\",\"age\":\"P.gte(20)\"}},{\"type\":\"VERTEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"PROPERTY_KEY\",\"label\":\"*\",\"properties\":null}]}}}"; Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getAccess(access1g)); + role = authManager.rolePermission(authManager.getAccess(access1g)); expected = "{\"roles\":{\"hugegraph\":{\"EXECUTE\":[{\"type\":\"GREMLIN\",\"label\":\"*\",\"properties\":null}]}}}"; Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getUser(user1)); + role = authManager.rolePermission(authManager.getUser(user1)); expected = "{\"roles\":{\"hugegraph1\":{\"READ\":[]}}}"; Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getBelong(belong2)); + role = authManager.rolePermission(authManager.getBelong(belong2)); expected = "{\"roles\":{\"hugegraph1\":{\"READ\":[]}}}"; Assert.assertEquals(expected, role.toJson()); - role = userManager.rolePermission(userManager.getTarget(graph1v)); + role = authManager.rolePermission(authManager.getTarget(graph1v)); expected = "{\"roles\":{\"hugegraph\":{\"READ\":[{\"type\":\"VERTEX\",\"label\":\"person\",\"properties\":{\"city\":\"Beijing\",\"age\":\"P.gte(20)\"}},{\"type\":\"VERTEX_LABEL\",\"label\":\"*\",\"properties\":null},{\"type\":\"PROPERTY_KEY\",\"label\":\"*\",\"properties\":null}]}}}"; Assert.assertEquals(expected, role.toJson()); } diff --git a/hugegraph-test/src/main/java/com/baidu/hugegraph/core/CoreTestSuite.java b/hugegraph-test/src/main/java/com/baidu/hugegraph/core/CoreTestSuite.java index 9a6cb4b15c..509cdf814a 100644 --- a/hugegraph-test/src/main/java/com/baidu/hugegraph/core/CoreTestSuite.java +++ b/hugegraph-test/src/main/java/com/baidu/hugegraph/core/CoreTestSuite.java @@ -47,7 +47,7 @@ EdgePropertyCoreTest.class, RestoreCoreTest.class, TaskCoreTest.class, - UsersTest.class, + AuthTest.class, MultiGraphsTest.class, RamTableTest.class }) diff --git a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java index 907ff97dff..97ff4ef0f4 100644 --- a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java +++ b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/BaseRocksDBUnitTest.java @@ -77,7 +77,8 @@ protected String get(String key) throws RocksDBException { protected void clearData() throws RocksDBException { for (String table : new ArrayList<>(this.rocks.openedTables())) { - this.rocks.session().delete(table, new byte[]{0}, new byte[]{-1}); + this.rocks.session().deleteRange(table, + new byte[]{0}, new byte[]{-1}); } this.commit(); } diff --git a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBPerfTest.java b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBPerfTest.java index f083c08885..1f2d9204b5 100644 --- a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBPerfTest.java +++ b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBPerfTest.java @@ -141,7 +141,7 @@ public void testUpdate() throws RocksDBException { for (int i = 0; i < n; i++) { int value = comms.get(i); String old = String.format("index:%3d:%d", i, value); - session.remove(TABLE, b(old)); + session.delete(TABLE, b(old)); value = r.nextInt(n); // TODO: aggregate value = i + 1; diff --git a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBSessionsTest.java b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBSessionsTest.java index 5f9063af61..e93378ee80 100644 --- a/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBSessionsTest.java +++ b/hugegraph-test/src/main/java/com/baidu/hugegraph/unit/rocksdb/RocksDBSessionsTest.java @@ -285,7 +285,7 @@ public void testDeleteByKey() throws RocksDBException { Assert.assertEquals("19", get("person:1gage")); Assert.assertEquals("Beijing", get("person:1gcity")); - this.rocks.session().remove(TABLE, b("person:1gage")); + this.rocks.session().delete(TABLE, b("person:1gage")); this.commit(); Assert.assertEquals("James", get("person:1gname")); @@ -303,7 +303,7 @@ public void testDeleteByKeyButNotExist() throws RocksDBException { Assert.assertEquals("19", get("person:1gage")); Assert.assertEquals("Beijing", get("person:1gcity")); - this.rocks.session().remove(TABLE, b("person:1")); + this.rocks.session().delete(TABLE, b("person:1")); this.commit(); Assert.assertEquals("James", get("person:1gname")); @@ -325,7 +325,7 @@ public void testDeleteByPrefix() throws RocksDBException { Assert.assertEquals("19", get("person:1gage")); Assert.assertEquals("Beijing", get("person:1gcity")); - this.rocks.session().delete(TABLE, b("person:1")); + this.rocks.session().deletePrefix(TABLE, b("person:1")); this.commit(); Assert.assertEquals(null, get("person:1gname")); @@ -353,7 +353,7 @@ public void testDeleteByRange() throws RocksDBException { Assert.assertEquals("Lisa", get("person:2gname")); Assert.assertEquals("Hebe", get("person:3gname")); - this.rocks.session().delete(TABLE, b("person:1"), b("person:3")); + this.rocks.session().deleteRange(TABLE, b("person:1"), b("person:3")); this.commit(); Assert.assertEquals(null, get("person:1gname")); @@ -385,7 +385,7 @@ public void testDeleteByRangeWithBytes() throws RocksDBException { byte[] value21 = b("value-2-1"); session.put(TABLE, key21, value21); - session.delete(TABLE, key11, new byte[]{1, 3}); + session.deleteRange(TABLE, key11, new byte[]{1, 3}); this.commit(); Assert.assertArrayEquals(null, session.get(TABLE, key11)); @@ -409,14 +409,14 @@ public void testDeleteByRangeWithSignedBytes() throws RocksDBException { byte[] value21 = b("value-2-1"); session.put(TABLE, key21, value21); - session.delete(TABLE, new byte[]{1, -3}, new byte[]{1, 3}); + session.deleteRange(TABLE, new byte[]{1, -3}, new byte[]{1, 3}); this.commit(); Assert.assertArrayEquals(value11, session.get(TABLE, key11)); Assert.assertArrayEquals(value12, session.get(TABLE, key12)); Assert.assertArrayEquals(value21, session.get(TABLE, key21)); - session.delete(TABLE, new byte[]{1, 1}, new byte[]{1, -1}); + session.deleteRange(TABLE, new byte[]{1, 1}, new byte[]{1, -1}); this.commit(); Assert.assertArrayEquals(null, session.get(TABLE, key11)); @@ -448,7 +448,8 @@ public void testDeleteByRangeWithMinMaxByteValue() throws RocksDBException { byte[] value20 = b("value-2-0"); session.put(TABLE, key20, value20); - session.delete(TABLE, new byte[]{1, 0}, new byte[]{1, (byte) 0xff}); + session.deleteRange(TABLE, + new byte[]{1, 0}, new byte[]{1, (byte) 0xff}); this.commit(); Assert.assertArrayEquals(null, session.get(TABLE, key11)); @@ -457,7 +458,8 @@ public void testDeleteByRangeWithMinMaxByteValue() throws RocksDBException { Assert.assertArrayEquals(value14, session.get(TABLE, key14)); Assert.assertArrayEquals(value20, session.get(TABLE, key20)); - session.delete(TABLE, new byte[]{1, (byte) 0xff}, new byte[]{2, 0}); + session.deleteRange(TABLE, + new byte[]{1, (byte) 0xff}, new byte[]{2, 0}); this.commit(); Assert.assertArrayEquals(null, session.get(TABLE, key11));