Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz4j Spring R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7后台标准模板
iBiz4j Spring R7
提交
d455009e
提交
d455009e
编写于
5月 23, 2020
作者:
zhouweidong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
格式化
上级
3c47f7fa
变更
2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
37 行增加
和
49 行删除
+37
-49
%ITEM%Resource.java.ftl
...YS_PKGPATH%/%SYSAPI_PKGPATH%/rest/%ITEM%Resource.java.ftl
+0
-12
AuthPermissionEvaluator.java.ftl
...S_PKGPATH%/util/security/AuthPermissionEvaluator.java.ftl
+37
-37
未找到文件。
SLN/%PUBPRJ%-provider/%PUBPRJ%-provider-%SYSAPI_PKGPATH%/src/main/java/%SYS_PKGPATH%/%SYSAPI_PKGPATH%/rest/%ITEM%Resource.java.ftl
浏览文件 @
d455009e
...
...
@@ -10,7 +10,6 @@ TARGET=PSDESERVICEAPI
<#
assign
itemCodeNameLC
=
itemCodeName
?
lower_case
>
<#
assign
deCodeName
=
de
.
getCodeName
()>
<#
assign
deCodeNameLC
=
deCodeName
?
lower_case
>
<#
assign
dePKCodeNameLC
=
srfcaseformat
(
de
.
getKeyPSDEField
().
getCodeName
(),
'l_u2lC'
)>
<#
assign
dePKCodeName
=
(
dePKCodeNameLC
)?
cap_first
>
<#
assign
deModelCodeNameLC
=
de
.
getPSSystemModule
().
getCodeName
()?
lower_case
>
...
...
@@ -31,10 +30,8 @@ import java.util.List;
import
java
.
util
.
Map
;
import
java
.
math
.
BigInteger
;
import
java
.
util
.
HashMap
;
import
lombok
.
extern
.
slf4j
.
Slf4j
;
import
com
.
alibaba
.
fastjson
.
JSONObject
;
import
javax
.
servlet
.
ServletRequest
;
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
cglib
.
beans
.
BeanCopier
;
...
...
@@ -49,20 +46,15 @@ import org.springframework.data.domain.Pageable;
import
org
.
springframework
.
util
.
StringUtils
;
import
org
.
springframework
.
context
.
annotation
.
Lazy
;
import
org
.
springframework
.
security
.
access
.
prepost
.
PreAuthorize
;
import
io
.
swagger
.
annotations
.
Api
;
import
io
.
swagger
.
annotations
.
ApiOperation
;
import
io
.
swagger
.
annotations
.
ApiResponse
;
import
io
.
swagger
.
annotations
.
ApiResponses
;
import
${
pubPkgCodeName
}.${
itemSysApiCodeNameLC
}.
dto
.*;
import
${
pubPkgCodeName
}.${
itemSysApiCodeNameLC
}.
mapping
.*;
import
${
pubPkgCodeName
}.
core
.${
deModelCodeNameLC
}.
domain
.${
deCodeName
};
import
${
pubPkgCodeName
}.
core
.${
deModelCodeNameLC
}.
service
.
I
${
deCodeName
}
Service
;
import
${
pubPkgCodeName
}.
core
.${
deModelCodeNameLC
}.
filter
.${
deCodeName
}
SearchContext
;
<#
if
item
.
getPSDEServiceAPIRSs
()??>
<#
list
item
.
getPSDEServiceAPIRSs
()
as
apider
>
<#
assign
deapide
=
apider
.
getMinorPSDEServiceAPI
().
getPSDataEntity
()>
...
...
@@ -254,11 +246,7 @@ public class ${itemCodeName}Resource {
}
<#
elseif
deaction
.
codeName
?
lower_case
==
'checkkey'
>
<#
if
noDEPrefield
>
<@
outputHasAnyAuthorityAnnotation
'${sys.codeName}-${de.codeName}-${deaction.codeName}-all'
/>
<#
else
>
@
PreAuthorize
(
"hasPermission('','checkkey',{'${deStorageMode}',this.${itemCodeNameLC}Mapping,#${itemCodeNameLC}dto})"
)
</#
if
>
@
ApiOperation
(
value
=
"${deaction.getLogicName()}"
,
tags
=
{
"${itemCodeName}"
},
notes
=
"${deaction.getLogicName()}"
)
@
RequestMapping
(
method
=
RequestMethod
.${
reqMtd
},
value
=
"${fullPath}/${deactionCodeName?lower_case}"
)
public
ResponseEntity
<
Boolean
>
checkKey
(${
etParams
})
{
...
...
SLN/%PUBPRJ%-util/src/main/java/%SYS_PKGPATH%/util/security/AuthPermissionEvaluator.java.ftl
浏览文件 @
d455009e
...
...
@@ -120,43 +120,6 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
}
}
/**
*
批
save
校验
*
@
param
deStorageMode
*
@
param
entityList
*
@
param
dataRangeList
*
@
return
*/
private
boolean
saveBatchActionPermissionValid
(
String
deStorageMode
,
List
<
EntityBase
>
entityList
,
JSONArray
dataRangeList
)
{
if
(
entityList
==
null
||
entityList
.
size
()==
0
)
return
false
;
EntityBase
tempEntity
=
entityList
.
get
(
0
);
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
tempEntity
);
String
keyFieldName
=
permissionField
.
get
(
keyFieldTag
);
List
createList
=
new
ArrayList
();
List
<
String
>
updateList
=
new
ArrayList
();
for
(
EntityBase
entity
:
entityList
){
Object
id
=
entity
.
get
(
keyFieldName
);
if
(
ObjectUtils
.
isEmpty
(
id
))
createList
.
add
(
entity
);
else
updateList
.
add
(
String
.
valueOf
(
id
));
}
if
(
updateList
.
size
()>
0
){
boolean
isUpdate
=
otherBatchActionPermissionValidRouter
(
deStorageMode
,
tempEntity
,
updateList
,
dataRangeList
);
if
(
!isUpdate)
return
false
;
}
if
(
createList
.
size
()>
0
){
boolean
isCreate
=
createBatchActionPermissionValid
(
entityList
,
dataRangeList
);
if
(
!isCreate)
return
false
;
}
return
true
;
}
/**
*
实体行为权限检查
:用于检查当前用户是否拥有实体的新建、编辑、删除权限
*
...
...
@@ -217,6 +180,43 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
}
}
/**
*
批
save
校验
*
@
param
deStorageMode
*
@
param
entityList
*
@
param
dataRangeList
*
@
return
*/
private
boolean
saveBatchActionPermissionValid
(
String
deStorageMode
,
List
<
EntityBase
>
entityList
,
JSONArray
dataRangeList
)
{
if
(
entityList
==
null
||
entityList
.
size
()==
0
)
return
false
;
EntityBase
tempEntity
=
entityList
.
get
(
0
);
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
tempEntity
);
String
keyFieldName
=
permissionField
.
get
(
keyFieldTag
);
List
createList
=
new
ArrayList
();
List
<
String
>
updateList
=
new
ArrayList
();
for
(
EntityBase
entity
:
entityList
){
Object
id
=
entity
.
get
(
keyFieldName
);
if
(
ObjectUtils
.
isEmpty
(
id
))
createList
.
add
(
entity
);
else
updateList
.
add
(
String
.
valueOf
(
id
));
}
if
(
updateList
.
size
()>
0
){
boolean
isUpdate
=
otherBatchActionPermissionValidRouter
(
deStorageMode
,
tempEntity
,
updateList
,
dataRangeList
);
if
(
!isUpdate)
return
false
;
}
if
(
createList
.
size
()>
0
){
boolean
isCreate
=
createBatchActionPermissionValid
(
entityList
,
dataRangeList
);
if
(
!isCreate)
return
false
;
}
return
true
;
}
/**
*
批处理新建权限校验
*
@
param
entityList
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录