----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/63237/ -----------------------------------------------------------
Review request for kylin, Dayue Gao, Dong Li, hongbin ma, and Wang Xiaoyu. Bugs: KYLIN-2960 https://issues.apache.org/jira/browse/KYLIN-2960 Repository: kylin Description ------- Currently, the user authentication interface that was provided by kylin to the third party only supports user and role authentication. However only user and group have authentication function when we use the LDAP authentication. In fact the authentication for user and role and the authentication for user and group have the same functional characteristics between different appplication system. So we should submit a new feature that it support the authentication for user and role and the authentication for user and group when the LDAP authentication was enabled. We supplied the checkPermission interface to implement the new feature. In the interface we set user groups information to the userRoles parameter when the LDAP was enabled, on the contrary we set user roles information to the userRoles parameter. The interface is as following: /** Checks if a user has permission on an entity. @param user @param userRoles @param entityType String constants defined in AclEntityType @param entityUuid @param permission @return true if has permission */ abstract public boolean checkPermission(String user, List<String> userRoles, // String entityType, String entityUuid, Permission permission); Diffs ----- server-base/src/main/java/org/apache/kylin/rest/controller/AccessController.java b3c9458 server-base/src/main/java/org/apache/kylin/rest/security/ExternalAclProviderTest.java PRE-CREATION server-base/src/main/java/org/apache/kylin/rest/security/KylinAclPermissionEvaluator.java b677537 server-base/src/main/java/org/apache/kylin/rest/security/KylinLdapTemplate.java PRE-CREATION server-base/src/main/java/org/apache/kylin/rest/security/RoleService.java PRE-CREATION server-base/src/main/java/org/apache/kylin/rest/service/KylinRoleService.java PRE-CREATION server-base/src/main/java/org/apache/kylin/rest/service/LdapRoleService.java PRE-CREATION server/src/main/resources/kylinSecurity.xml ca49255 Diff: https://reviews.apache.org/r/63237/diff/1/ Testing ------- Thanks, pengjianhua