提交 76af581d 编写于 作者: zhouweidong's avatar zhouweidong

权限调整

上级 ce0e36a5
...@@ -226,7 +226,7 @@ public class ${itemCodeName}Resource { ...@@ -226,7 +226,7 @@ public class ${itemCodeName}Resource {
<#if noDEPrefield> <#if noDEPrefield>
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','${sys.codeName}-${de.codeName}-${deaction.codeName}-all')") @PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','${sys.codeName}-${de.codeName}-${deaction.codeName}-all')")
<#else> <#else>
@PreAuthorize("hasPermission('Remove',{#${itemCodeNameLC + keyCNLC},{this.getEntity(),'${deStorageMode}'}})") @PreAuthorize("hasPermission(#${itemCodeNameLC + keyCNLC},'Remove',{this.getEntity(),'${deStorageMode}'})")
</#if> </#if>
@ApiOperation(value = "${deaction.getLogicName()}", tags = {"${itemCodeName}" }, notes = "${deaction.getLogicName()}") @ApiOperation(value = "${deaction.getLogicName()}", tags = {"${itemCodeName}" }, notes = "${deaction.getLogicName()}")
@RequestMapping(method = RequestMethod.DELETE, value = "${fullPath}/{${itemCodeNameLC + keyCNLC}}") @RequestMapping(method = RequestMethod.DELETE, value = "${fullPath}/{${itemCodeNameLC + keyCNLC}}")
......
...@@ -55,97 +55,32 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -55,97 +55,32 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
@Lazy @Lazy
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
/**
* 表格权限检查 :用于检查当前用户是否拥有表格数据的读取、删除权限
*
* @param authentication
* @param deAction 表格行为,如:[READ,DELETE]
* @param gridParam 表格参数,如:当前表格所处实体(EntityName)、表格删除的数据主键(srfkeys)
* @return true/false true则允许当前行为,false拒绝行为
*/
@Override @Override
public boolean hasPermission(Authentication authentication, Object deAction, Object gridParam) { public boolean hasPermission(Authentication authentication, Object deAction, Object gridParam) {
return true;
<#--//未开启权限校验、超级管理员则不进行权限检查-->
<#--if(AuthenticationUser.getAuthenticationUser().getSuperuser()==1 || !enablePermissionValid)-->
<#--return true;-->
<#--String action = "";-->
<#--String deStorageMode;-->
<#--if (deAction instanceof String)-->
<#--action = (String) deAction;-->
<#--if (StringUtils.isEmpty(action))-->
<#--return false;-->
<#--//获取当前用户权限列表-->
<#--JSONObject userPermission= AuthenticationUser.getAuthenticationUser().getPermissionList();-->
<#--if(userPermission==null)-->
<#--return false;-->
<#--List gridParamList = (ArrayList) gridParam;-->
<#--if(action.equalsIgnoreCase("remove")){-->
<#--//准备参数-->
<#--Object srfKey =gridParamList.get(0);-->
<#--EntityBase entity = (EntityBase) gridParamList.get(1);-->
<#--deStorageMode= (String) gridParamList.get(2);-->
<#--String entityName = entity.getClass().getSimpleName();-->
<#--//获取实体行为权限信息-->
<#--JSONObject permissionList=userPermission.getJSONObject("entities");-->
<#--//检查是否有操作权限[create.update.delete.read]-->
<#--if(!validDEActionHasPermission(permissionList,entityName,action)){-->
<#--return false;-->
<#--}-->
<#--//检查是否有数据权限-->
<#--return deActionPermissionValidRouter(deStorageMode, entity , action , srfKey, permissionList);-->
<#--}-->
<#--else{-->
<#--//准备参数-->
<#--Object searchContext=gridParamList.get(0);-->
<#--String dataSetName=String.valueOf(gridParamList.get(1));-->
<#--EntityBase entity = (EntityBase) gridParamList.get(2);-->
<#--deStorageMode= (String) gridParamList.get(3);-->
<#--String entityName = entity.getClass().getSimpleName();-->
<#--//获取数据集权限信息-->
<#--JSONObject permissionList=userPermission.getJSONObject("entities");-->
<#--if(StringUtils.isEmpty(entityName)|| StringUtils.isEmpty(dataSetName))-->
<#--return false;-->
<#--//检查是否有访问数据集的权限-->
<#--if(!validDataSetHasPermission(permissionList,entityName,dataSetName)){-->
<#--return false;-->
<#--}-->
<#--&lt;#&ndash;//拼接权限条件&ndash;&gt;-->
<#--&lt;#&ndash;deDataSetFillPermissionSQLRouter(deStorageMode, searchContext, entity , dataSetName , permissionList);&ndash;&gt;-->
<#--}-->
return true;
} }
/** /**
* 表单权限检查 :用于检查当前用户是否拥有表单的新建、编辑、删除权限 * 实体行为权限检查 :用于检查当前用户是否拥有实体的新建、编辑、删除权限
* *
* @param authentication * @param authentication
* @param srfKey 当前操作数据的主键 * @param srfKey 当前操作数据的主键
* @param action 当前操作行为:如:[READUPDATEDELETE] * @param action 当前操作行为:如:[READUPDATEDELETE]
* @param formParam 表单参数对象 * @param params 相关参数
* @return true/false true则允许当前行为,false拒绝行为 * @return true/false true则允许当前行为,false拒绝行为
*/ */
@Override @Override
public boolean hasPermission(Authentication authentication, Serializable srfKey, String action, Object formParam) { public boolean hasPermission(Authentication authentication, Serializable srfKey, String action, Object params) {
//未开启权限校验、超级管理员则不进行权限检查 //未开启权限校验、超级管理员则不进行权限检查
if(AuthenticationUser.getAuthenticationUser().getSuperuser()==1 || !enablePermissionValid) if(AuthenticationUser.getAuthenticationUser().getSuperuser()==1 || !enablePermissionValid)
return true; return true;
List formParamList = (ArrayList) formParam; List paramList = (ArrayList) params;
EntityBase entity = (EntityBase) formParamList.get(0); EntityBase entity = (EntityBase) paramList.get(0);
String deStorageMode= (String) formParamList.get(1); String deStorageMode= (String) paramList.get(1);
if (StringUtils.isEmpty(entity)) if (StringUtils.isEmpty(entity))
return false; return false;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册