Browse Source

优化命名

zhouhao 8 years ago
parent
commit
4da3f142c4
17 changed files with 105 additions and 74 deletions
  1. 1 1
      hsweb-system/README.md
  2. 5 5
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/AuthorizationController.java
  3. 5 6
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/UserController.java
  4. 2 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-api/src/main/java/org/hswebframework/web/service/authorization/DataAccessFactory.java
  5. 4 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-api/src/main/java/org/hswebframework/web/service/authorization/UserService.java
  6. 18 19
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorization.java
  7. 4 0
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleRoleService.java
  8. 29 6
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java
  9. 2 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/AbstractDataAccess.java
  10. 3 3
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleDataAccessFactory.java
  11. 2 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleOwnCreatedDataAccess.java
  12. 2 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleScriptDataAccess.java
  13. 2 2
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/PermissionTests.java
  14. 7 7
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/UserTests.java
  15. 15 14
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-dao/hsweb-system-dictionary-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/dictionary/DictionaryItemMapper.xml
  16. 2 0
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/main/resources/hsweb-starter.js
  17. 2 1
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/test/java/org/hswebframework/web/starter/dictionary/DictionaryTests.java

+ 1 - 1
hsweb-system/README.md

@@ -11,7 +11,7 @@
 |[hsweb-system-crawler](hsweb-system-crawler)|爬虫功能| 0%|
 |[hsweb-system-database-manager](hsweb-system-database-manager)|在线数据库维护| 0%|
 |[hsweb-system-datasource](hsweb-system-datasource)|动态数据源管理| 0%|
-|[hsweb-system-dictionary](hsweb-system-dictionary)| 数据字典功能|  0%|
+|[hsweb-system-dictionary](hsweb-system-dictionary)| 数据字典功能|  50%|
 |[hsweb-system-document](hsweb-system-document)|文档管理功能| 0%|
 |[hsweb-system-dynamic-form](hsweb-system-dynamic-form)|动态表单| 0%|
 |[hsweb-system-explorer](hsweb-system-explorer)|**系统资源管理(菜单,按钮)**| 20%|

+ 5 - 5
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/AuthorizationController.java

@@ -22,7 +22,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.hswebframework.web.BusinessException;
 import org.hswebframework.web.NotFoundException;
-import org.hswebframework.web.authorization.Authorization;
+import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.authorization.annotation.Authorize;
 import org.hswebframework.web.authorization.listener.AuthorizationListenerDispatcher;
 import org.hswebframework.web.authorization.listener.event.*;
@@ -71,8 +71,8 @@ public class AuthorizationController {
     @AccessLogger("退出登录")
     @Authorize
     @ApiOperation("退出当前登录")
-    public ResponseMessage exit(@ApiParam(hidden = true) Authorization authorization) {
-        authorizationListenerDispatcher.doEvent(new AuthorizationExitEvent(authorization));
+    public ResponseMessage exit(@ApiParam(hidden = true) Authentication authentication) {
+        authorizationListenerDispatcher.doEvent(new AuthorizationExitEvent(authentication));
         return ok();
     }
 
@@ -138,8 +138,8 @@ public class AuthorizationController {
             // TODO: 17-1-13  获取IP
             userService.updateLoginInfo(entity.getId(), "", System.currentTimeMillis());
             // 验证通过
-            Authorization authorization = userService.initUserAuthorization(entity.getId());
-            AuthorizationSuccessEvent event = new AuthorizationSuccessEvent(authorization, parameterGetter);
+            Authentication authentication = userService.initUserAuthorization(entity.getId());
+            AuthorizationSuccessEvent event = new AuthorizationSuccessEvent(authentication, parameterGetter);
             authorizationListenerDispatcher.doEvent(event);
             return ok(entity.getId());
         } catch (Exception e) {

+ 5 - 6
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/UserController.java

@@ -18,10 +18,9 @@
 package org.hswebframework.web.controller.authorization;
 
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
-import org.hswebframework.web.authorization.Authorization;
-import org.hswebframework.web.authorization.AuthorizationHolder;
+import org.hswebframework.web.authorization.Authentication;
+import org.hswebframework.web.authorization.AuthenticationHolder;
 import org.hswebframework.web.authorization.Permission;
 import org.hswebframework.web.authorization.annotation.Authorize;
 import org.hswebframework.web.commons.entity.PagerResult;
@@ -102,9 +101,9 @@ public class UserController implements
     @ApiOperation("修改当前用户的密码")
     public ResponseMessage<Void> updateLoginUserPassword(@RequestParam String password,
                                                    @RequestParam String oldPassword) {
-        Authorization authorization = AuthorizationHolder.get();
-        Assert.notNull(authorization);
-        getService().updatePassword(authorization.getUser().getId(), oldPassword, password);
+        Authentication authentication = AuthenticationHolder.get();
+        Assert.notNull(authentication);
+        getService().updatePassword(authentication.getUser().getId(), oldPassword, password);
         return ok();
     }
 

+ 2 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-api/src/main/java/org/hswebframework/web/service/authorization/DataAccessFactory.java

@@ -1,6 +1,6 @@
 package org.hswebframework.web.service.authorization;
 
-import org.hswebframework.web.authorization.access.DataAccess;
+import org.hswebframework.web.authorization.access.DataAccessConfig;
 import org.hswebframework.web.entity.authorization.DataAccessEntity;
 
 /**
@@ -9,5 +9,5 @@ import org.hswebframework.web.entity.authorization.DataAccessEntity;
  * @author zhouhao
  */
 public interface DataAccessFactory {
-    DataAccess create(DataAccessEntity entity);
+    DataAccessConfig create(DataAccessEntity entity);
 }

+ 4 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-api/src/main/java/org/hswebframework/web/service/authorization/UserService.java

@@ -1,6 +1,7 @@
 package org.hswebframework.web.service.authorization;
 
-import org.hswebframework.web.authorization.AuthorizationInitializeService;
+import org.hswebframework.web.authorization.AuthenticationInitializeService;
+import org.hswebframework.web.authorization.AuthenticationManager;
 import org.hswebframework.web.entity.authorization.UserEntity;
 import org.hswebframework.web.service.CreateEntityService;
 import org.hswebframework.web.service.InsertService;
@@ -13,7 +14,8 @@ import org.hswebframework.web.service.QueryService;
  * @author zhouhao
  */
 public interface UserService extends
-        AuthorizationInitializeService,
+        AuthenticationManager,
+        AuthenticationInitializeService,
         CreateEntityService<UserEntity>,
         QueryByEntityService<UserEntity>,
         QueryService<UserEntity, String>,

+ 18 - 19
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorization.java

@@ -18,8 +18,8 @@
 package org.hswebframework.web.service.authorization.simple;
 
 import org.hswebframework.web.authorization.*;
-import org.hswebframework.web.authorization.access.DataAccess;
-import org.hswebframework.web.authorization.access.FieldAccess;
+import org.hswebframework.web.authorization.access.DataAccessConfig;
+import org.hswebframework.web.authorization.access.FieldAccessConfig;
 import org.hswebframework.web.entity.authorization.*;
 import org.hswebframework.web.service.authorization.DataAccessFactory;
 
@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
  *
  * @author zhouhao
  */
-public class SimpleAuthorization implements Authorization {
+public class SimpleAuthentication implements Authentication {
     private ReadOnlyUser user;
 
     private List<Role> roles;
@@ -41,13 +41,13 @@ public class SimpleAuthorization implements Authorization {
 
     private Map<String, Serializable> attributes = new HashMap<>();
 
-    public SimpleAuthorization() {
+    public SimpleAuthentication() {
     }
 
-    public SimpleAuthorization(UserEntity user,
-                               List<RoleEntity> roleEntities,
-                               List<PermissionRoleEntity> permissionRoleEntities,
-                               DataAccessFactory dataAccessFactory) {
+    public SimpleAuthentication(UserEntity user,
+                                List<RoleEntity> roleEntities,
+                                List<PermissionRoleEntity> permissionRoleEntities,
+                                DataAccessFactory dataAccessFactory) {
         this.user = new ReadOnlyUser(user.getId(), user.getUsername(), user.getName());
         this.roles = roleEntities.stream()
                 .map(roleEntity -> new ReadOnlyRole(roleEntity.getId(), roleEntity.getDescribe()))
@@ -56,7 +56,7 @@ public class SimpleAuthorization implements Authorization {
                 .map(permissionRoleEntity -> {
                     ReadOnlyPermission permission = new ReadOnlyPermission(permissionRoleEntity.getPermissionId(), permissionRoleEntity.getActions());
                     if (null != dataAccessFactory && null != permissionRoleEntity.getDataAccesses()) {
-                        permission.setDataAccesses(permissionRoleEntity
+                        permission.setDataAccessConfigs(permissionRoleEntity
                                 .getDataAccesses()
                                 .stream()
                                 .map(dataAccessFactory::create)
@@ -134,7 +134,7 @@ public class SimpleAuthorization implements Authorization {
         private String                 id;
         private Set<String>            actions;
         private Set<SimpleFieldAccess> fieldAccesses;
-        private Set<DataAccess>        dataAccesses;
+        private Set<DataAccessConfig>  dataAccessConfigs;
 
         public ReadOnlyPermission() {
         }
@@ -161,15 +161,14 @@ public class SimpleAuthorization implements Authorization {
         }
 
         @Override
-        public Set<FieldAccess> getFieldAccesses() {
+        public Set<FieldAccessConfig> getFieldAccesses() {
             if (fieldAccesses == null) fieldAccesses = Collections.emptySet();
             return new HashSet<>(fieldAccesses);
         }
 
-        @Override
-        public Set<DataAccess> getDataAccesses() {
-            if (dataAccesses == null) dataAccesses = Collections.emptySet();
-            return new HashSet<>(dataAccesses);
+        public Set<DataAccessConfig> getDataAccessConfigs() {
+            if (dataAccessConfigs == null) dataAccessConfigs = Collections.emptySet();
+            return new HashSet<>(dataAccessConfigs);
         }
 
         public void setFieldAccesses(Set<SimpleFieldAccess> fieldAccesses) {
@@ -177,9 +176,9 @@ public class SimpleAuthorization implements Authorization {
             this.fieldAccesses = fieldAccesses;
         }
 
-        public void setDataAccesses(Set<DataAccess> dataAccesses) {
-            checkWritable(this.dataAccesses);
-            this.dataAccesses = dataAccesses;
+        public void setDataAccessConfigs(Set<DataAccessConfig> dataAccessConfigs) {
+            checkWritable(this.dataAccessConfigs);
+            this.dataAccessConfigs = dataAccessConfigs;
         }
 
         public void setActions(Set<String> actions) {
@@ -188,7 +187,7 @@ public class SimpleAuthorization implements Authorization {
         }
     }
 
-    public static class SimpleFieldAccess implements FieldAccess {
+    public static class SimpleFieldAccess implements FieldAccessConfig {
         private String      field;
         private Set<String> actions;
 

+ 4 - 0
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleRoleService.java

@@ -29,12 +29,15 @@ import org.hswebframework.web.service.DefaultDSLQueryService;
 import org.hswebframework.web.service.DefaultDSLUpdateService;
 import org.hswebframework.web.service.authorization.RoleService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.List;
 
+import static org.hswebframework.web.service.authorization.simple.CacheConstants.USER_AUTH_CACHE_NAME;
+
 /**
  * TODO 完成注释
  *
@@ -107,6 +110,7 @@ public class SimpleRoleService extends AbstractService<RoleEntity, String>
     }
 
     @Override
+    @CacheEvict(value = USER_AUTH_CACHE_NAME, allEntries = true)
     public <T extends PermissionRoleEntity> boolean update(BindPermissionRoleEntity<T> roleEntity) {
         tryValidateProperty(StringUtils.hasLength(roleEntity.getId()), RoleEntity.id, "id {not_be_null}");
         tryValidateProperty(null == selectByPk(roleEntity.getId()), RoleEntity.id, "{role_not_exists}");

+ 29 - 6
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java

@@ -1,7 +1,7 @@
 package org.hswebframework.web.service.authorization.simple;
 
 import org.apache.commons.codec.digest.DigestUtils;
-import org.hswebframework.web.authorization.Authorization;
+import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.commons.entity.GenericEntity;
 import org.hswebframework.web.dao.authorization.*;
 import org.hswebframework.web.entity.authorization.*;
@@ -17,6 +17,10 @@ import org.hswebframework.web.service.authorization.UsernameValidator;
 import org.hswebframework.web.validate.ValidationException;
 import org.hswebframwork.utils.ListUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.CachePut;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.cache.annotation.Caching;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
@@ -25,6 +29,8 @@ import org.springframework.util.StringUtils;
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static org.hswebframework.web.service.authorization.simple.CacheConstants.*;
+
 /**
  * TODO 完成注释
  *
@@ -59,6 +65,18 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
     @Autowired(required = false)
     private DataAccessFactory dataAccessFactory;
 
+    @Override
+    @Cacheable(value = USER_AUTH_CACHE_NAME, key = "#userId")
+    public Authentication getByUserId(String userId) {
+        return initUserAuthorization(userId);
+    }
+
+    @Override
+    @CachePut(value = USER_AUTH_CACHE_NAME, key = "#authentication.user.id")
+    public Authentication sync(Authentication authentication) {
+        return authentication;
+    }
+
     @Override
     public String encodePassword(String password, String salt) {
         return DigestUtils.md5Hex(String.format("hsweb.%s.framework.%s", password, salt));
@@ -91,6 +109,7 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
     }
 
     @Override
+    @CacheEvict(value = USER_CACHE_NAME, key = "#userEntity.id")
     public String insert(UserEntity userEntity) {
         //判断用户是否已经存在
         tryValidateProperty(null == selectByUsername(userEntity.getUsername()), "username", "{username_exists}");
@@ -130,6 +149,10 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
     }
 
     @Override
+    @Caching(evict = {
+            @CacheEvict(value = USER_CACHE_NAME, key = "#userId"),
+            @CacheEvict(value = USER_AUTH_CACHE_NAME, key = "#userId"),
+    })
     public void update(String userId, UserEntity userEntity) {
         userEntity.setId(userId);
         //判断用户是否存在
@@ -193,24 +216,24 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
     }
 
     @Override
-    public Authorization initUserAuthorization(String userId) {
+    public Authentication initUserAuthorization(String userId) {
         UserEntity userEntity = selectByPk(userId);
         assertNotNull(userEntity);
         //用户持有的角色
         List<UserRoleEntity> roleEntities = userRoleDao.selectByUserId(userId);
         if (ListUtils.isNullOrEmpty(roleEntities)) {
-            return new SimpleAuthorization(userEntity, new ArrayList<>(), new ArrayList<>(), dataAccessFactory);
+            return new SimpleAuthentication(userEntity, new ArrayList<>(), new ArrayList<>(), dataAccessFactory);
         }
         List<String> roleIdList = roleEntities.stream().map(UserRoleEntity::getRoleId).collect(Collectors.toList());
 
         List<RoleEntity> roleEntityList = DefaultDSLQueryService.createQuery(roleDao).where().in(GenericEntity.id, roleIdList).noPaging().list();
         //权限角色关联信息
         List<PermissionRoleEntity> permissionRoleEntities = permissionRoleDao.selectByRoleIdList(roleIdList);
-        return new SimpleAuthorization(userEntity, roleEntityList, permissionRoleEntities, dataAccessFactory);
+        return new SimpleAuthentication(userEntity, roleEntityList, permissionRoleEntities, dataAccessFactory);
     }
 
     @Override
-    public Authorization initAdminAuthorization(String userId) {
+    public Authentication initAdminAuthorization(String userId) {
         UserEntity userEntity = selectByPk(userId);
         assertNotNull(userEntity);
         //所有权限信息
@@ -236,7 +259,7 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
             admin.setName("admin");
             roleEntityList.add(admin);
         }
-        return new SimpleAuthorization(userEntity, roleEntityList, permissionRoleEntities, dataAccessFactory);
+        return new SimpleAuthentication(userEntity, roleEntityList, permissionRoleEntities, dataAccessFactory);
     }
 
 

+ 2 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/AbstractDataAccess.java

@@ -1,13 +1,13 @@
 package org.hswebframework.web.service.authorization.simple.access;
 
-import org.hswebframework.web.authorization.access.DataAccess;
+import org.hswebframework.web.authorization.access.DataAccessConfig;
 
 /**
  * TODO 完成注释
  *
  * @author zhouhao
  */
-public abstract class AbstractDataAccess implements DataAccess {
+public abstract class AbstractDataAccess implements DataAccessConfig {
 
     private String action;
 

+ 3 - 3
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleDataAccessFactory.java

@@ -1,7 +1,7 @@
 package org.hswebframework.web.service.authorization.simple.access;
 
 import com.alibaba.fastjson.JSON;
-import org.hswebframework.web.authorization.access.DataAccess;
+import org.hswebframework.web.authorization.access.DataAccessConfig;
 import org.hswebframework.web.entity.authorization.DataAccessEntity;
 import org.hswebframework.web.service.authorization.DataAccessFactory;
 import org.springframework.stereotype.Component;
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Component;
 public class SimpleDataAccessFactory implements DataAccessFactory {
 
     @Override
-    public DataAccess create(DataAccessEntity entity) {
+    public DataAccessConfig create(DataAccessEntity entity) {
         AbstractDataAccess dataAccess = null;
         try {
             switch (entity.getType()) {
@@ -35,7 +35,7 @@ public class SimpleDataAccessFactory implements DataAccessFactory {
         return createOtherType(entity);
     }
 
-    protected DataAccess createOtherType(DataAccessEntity entity) {
+    protected DataAccessConfig createOtherType(DataAccessEntity entity) {
         return null;
     }
 }

+ 2 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleOwnCreatedDataAccess.java

@@ -1,11 +1,11 @@
 package org.hswebframework.web.service.authorization.simple.access;
 
-import org.hswebframework.web.authorization.access.OwnCreatedDataAccess;
+import org.hswebframework.web.authorization.access.OwnCreatedDataAccessConfig;
 
 /**
  * TODO 完成注释
  *
  * @author zhouhao
  */
-public class SimpleOwnCreatedDataAccess extends AbstractDataAccess implements OwnCreatedDataAccess {
+public class SimpleOwnCreatedDataAccess extends AbstractDataAccess implements OwnCreatedDataAccessConfig {
 }

+ 2 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/access/SimpleScriptDataAccess.java

@@ -1,13 +1,13 @@
 package org.hswebframework.web.service.authorization.simple.access;
 
-import org.hswebframework.web.authorization.access.ScriptDataAccess;
+import org.hswebframework.web.authorization.access.ScriptDataAccessConfig;
 
 /**
  * TODO 完成注释
  *
  * @author zhouhao
  */
-public class SimpleScriptDataAccess extends AbstractDataAccess implements ScriptDataAccess {
+public class SimpleScriptDataAccess extends AbstractDataAccess implements ScriptDataAccessConfig {
     private String script;
 
     private String scriptLanguage;

+ 2 - 2
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/PermissionTests.java

@@ -19,7 +19,7 @@ package org.hswebframework.web.starter.authorization;
 
 import org.hsweb.ezorm.rdb.executor.SqlExecutor;
 import org.hswebframework.web.authorization.Permission;
-import org.hswebframework.web.authorization.access.DataAccess;
+import org.hswebframework.web.authorization.access.DataAccessConfig;
 import org.hswebframework.web.entity.authorization.ActionEntity;
 import org.hswebframework.web.entity.authorization.DataAccessEntity;
 import org.hswebframework.web.entity.authorization.PermissionEntity;
@@ -56,7 +56,7 @@ public class PermissionTests extends SimpleWebApplicationTests {
         Assert.assertTrue(sqlExecutor.tableExists("s_permission"));
 
         DataAccessEntity dataAccessEntity = new DataAccessEntity();
-        dataAccessEntity.setType(DataAccess.Type.OWN_CREATED.name());
+        dataAccessEntity.setType(DataAccessConfig.DefaultType.OWN_CREATED);
         dataAccessEntity.setAction(Permission.ACTION_QUERY);
         dataAccessEntity.setDescribe("只能查询自己创建的数据");
 

+ 7 - 7
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/UserTests.java

@@ -17,7 +17,7 @@
 
 package org.hswebframework.web.starter.authorization;
 
-import org.hswebframework.web.authorization.Authorization;
+import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.entity.authorization.UserEntity;
 import org.hswebframework.web.service.authorization.PasswordStrengthValidator;
 import org.hswebframework.web.service.authorization.UserService;
@@ -85,12 +85,12 @@ public class UserTests extends SimpleWebApplicationTests {
     @Test
     public void testInitAuth() {
         UserEntity entity = createTestUser();
-        Authorization authorization = userService.initAdminAuthorization(entity.getId());
-        Assert.assertNotNull(authorization);
-        Assert.assertEquals(authorization.getUser().getUsername(), entity.getUsername());
-        authorization = userService.initUserAuthorization(entity.getId());
-        Assert.assertNotNull(authorization);
-        Assert.assertEquals(authorization.getUser().getUsername(), entity.getUsername());
+        Authentication authentication = userService.initAdminAuthorization(entity.getId());
+        Assert.assertNotNull(authentication);
+        Assert.assertEquals(authentication.getUser().getUsername(), entity.getUsername());
+        authentication = userService.initUserAuthorization(entity.getId());
+        Assert.assertNotNull(authentication);
+        Assert.assertEquals(authentication.getUser().getUsername(), entity.getUsername());
     }
 
     @Test

+ 15 - 14
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-dao/hsweb-system-dictionary-dao-mybatis/src/main/resources/org/hswebframework/web/dao/mybatis/mappers/dictionary/DictionaryItemMapper.xml

@@ -21,18 +21,19 @@
 <mapper namespace="org.hswebframework.web.dao.dictionary.DictionaryItemDao">
     <resultMap id="DictionaryItemResultMap" type="org.hswebframework.web.entity.dictionary.SimpleDictionaryItemEntity">
         <id property="id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-            <result property="dictId" column="dict_id" javaType="String" jdbcType="VARCHAR"/>
-            <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
-            <result property="value" column="value" javaType="String" jdbcType="VARCHAR"/>
-            <result property="text" column="text" javaType="String" jdbcType="VARCHAR"/>
-            <result property="valueType" column="value_type" javaType="String" jdbcType="VARCHAR"/>
-            <result property="enabled" column="enabled" javaType="Long" jdbcType="DECIMAL"/>
-            <result property="describe" column="describe" javaType="String" jdbcType="VARCHAR"/>
-            <result property="parentId" column="parent_id" javaType="String" jdbcType="VARCHAR"/>
-            <result property="treeCode" column="tree_code" javaType="String" jdbcType="VARCHAR"/>
-            <result property="searchCode" column="search_code" javaType="String" jdbcType="VARCHAR"/>
-            <result property="sortIndex" column="sort_index" javaType="Long" jdbcType="DECIMAL"/>
-            <result property="level" column="level" javaType="Long" jdbcType="DECIMAL"/>
+        <result property="dictId" column="dict_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
+        <result property="value" column="value" javaType="String" jdbcType="VARCHAR"/>
+        <result property="text" column="text" javaType="String" jdbcType="VARCHAR"/>
+        <result property="valueType" column="value_type" javaType="String" jdbcType="VARCHAR"/>
+        <result property="enabled" column="enabled" javaType="Long" jdbcType="DECIMAL"/>
+        <result property="describe" column="describe" javaType="String" jdbcType="VARCHAR"/>
+        <result property="parentId" column="parent_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="treeCode" column="tree_code" javaType="String" jdbcType="VARCHAR"/>
+        <result property="searchCode" column="search_code" javaType="String" jdbcType="VARCHAR"/>
+        <result property="sortIndex" column="sort_index" javaType="Long" jdbcType="DECIMAL"/>
+        <result property="level" column="level" javaType="Long" jdbcType="DECIMAL"/>
+        <result property="properties" column="properties" javaType="Map" jdbcType="CLOB"/>
     </resultMap>
 
     <!--用于动态生成sql所需的配置-->
@@ -40,8 +41,8 @@
         <bind name="resultMapId" value="'DictionaryItemResultMap'"/>
         <bind name="tableName" value="'s_dict_item'"/>
     </sql>
-  
-    <insert id="insert" parameterType="org.hswebframework.web.entity.dictionary.SimpleDictionaryItemEntity" >
+
+    <insert id="insert" parameterType="org.hswebframework.web.entity.dictionary.SimpleDictionaryItemEntity">
         <include refid="config"/>
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>

+ 2 - 0
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/main/resources/hsweb-starter.js

@@ -60,6 +60,8 @@ function install(context) {
         .addColumn().name("search_code").alias("searchCode").comment("快速搜索码").jdbcType(java.sql.JDBCType.VARCHAR).length(128).commit()
         .addColumn().name("sort_index").alias("sortIndex").comment("排序索引").jdbcType(java.sql.JDBCType.DECIMAL).length(32,0).commit()
         .addColumn().name("level").alias("level").comment("树结构层级").jdbcType(java.sql.JDBCType.DECIMAL).length(32,0).commit()
+        .addColumn().name("properties").alias("properties").comment("其他自定义属性").jdbcType(java.sql.JDBCType.CLOB).commit()
+
         .comment("数据字典解析配置").commit();
 
     database.createOrAlter("s_dict_parser")

+ 2 - 1
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/test/java/org/hswebframework/web/starter/dictionary/DictionaryTests.java

@@ -21,6 +21,7 @@ package org.hswebframework.web.starter.dictionary;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import org.hswebframework.web.entity.dictionary.DictionaryEntity;
+import org.hswebframework.web.entity.dictionary.DictionaryItemEntity;
 import org.hswebframework.web.entity.dictionary.SimpleDictionaryEntity;
 import org.hswebframework.web.starter.convert.FastJsonHttpMessageConverter;
 import org.hswebframework.web.tests.SimpleWebApplicationTests;
@@ -42,7 +43,7 @@ public class DictionaryTests extends SimpleWebApplicationTests {
 
     @Test
     public void testCrud() throws Exception {
-        DictionaryEntity entity = entityFactory.newInstance(DictionaryEntity.class);
+        DictionaryEntity<DictionaryItemEntity> entity = entityFactory.newInstance(DictionaryEntity.class);
         //todo 设置测试属性
         entity.setName("test");
         entity.setCreatorId("admin");