Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
87e01ce8
提交
87e01ce8
编写于
5月 06, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
499c38a4
变更
30
显示空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
806 行增加
和
180 行删除
+806
-180
wfdyna-exp-grid-view-engine.ts
app_web/src/engine/view/wfdyna-exp-grid-view-engine.ts
+37
-0
sys-permissions.ts
app_web/src/mock/entity/sys-permissions/sys-permissions.ts
+47
-0
sys-psappmenuitems.ts
.../src/mock/entity/sys-psappmenuitems/sys-psappmenuitems.ts
+47
-0
sys-psdeopprivs.ts
app_web/src/mock/entity/sys-psdeopprivs/sys-psdeopprivs.ts
+47
-0
sys-role-permissions.ts
.../mock/entity/sys-role-permissions/sys-role-permissions.ts
+47
-0
sys-roles.ts
app_web/src/mock/entity/sys-roles/sys-roles.ts
+47
-0
sys-user-roles.ts
app_web/src/mock/entity/sys-user-roles/sys-user-roles.ts
+47
-0
sys-users.ts
app_web/src/mock/entity/sys-users/sys-users.ts
+47
-0
entity-service.ts
app_web/src/service/entity-service.ts
+83
-15
sys-permission-service-base.ts
...src/service/sys-permission/sys-permission-service-base.ts
+2
-0
sys-psappmenuitem-service-base.ts
...rvice/sys-psappmenuitem/sys-psappmenuitem-service-base.ts
+2
-0
sys-psdeoppriv-service-base.ts
...src/service/sys-psdeoppriv/sys-psdeoppriv-service-base.ts
+2
-0
sys-role-permission-service-base.ts
...e/sys-role-permission/sys-role-permission-service-base.ts
+2
-0
sys-role-service-base.ts
app_web/src/service/sys-role/sys-role-service-base.ts
+2
-0
sys-user-role-service-base.ts
...b/src/service/sys-user-role/sys-user-role-service-base.ts
+2
-0
sys-user-service-base.ts
app_web/src/service/sys-user/sys-user-service-base.ts
+2
-0
webSecurityConfig.java
...rc/main/java/cn/ibizlab/web/config/webSecurityConfig.java
+13
-0
application-web-prod.yml
...bzuaa-app-web/src/main/resources/application-web-prod.yml
+4
-0
application-dev.yml
ibzuaa-boot/src/main/resources/application-dev.yml
+2
-1
SYS_PERMISSIONResource.java
...main/java/cn/ibizlab/api/rest/SYS_PERMISSIONResource.java
+8
-8
SYS_PSAPPMENUITEMResource.java
...n/java/cn/ibizlab/api/rest/SYS_PSAPPMENUITEMResource.java
+8
-8
SYS_PSDEOPPRIVResource.java
...main/java/cn/ibizlab/api/rest/SYS_PSDEOPPRIVResource.java
+8
-8
SYS_ROLEResource.java
...i/src/main/java/cn/ibizlab/api/rest/SYS_ROLEResource.java
+8
-8
SYS_ROLE_PERMISSIONResource.java
...java/cn/ibizlab/api/rest/SYS_ROLE_PERMISSIONResource.java
+8
-8
SYS_USERResource.java
...i/src/main/java/cn/ibizlab/api/rest/SYS_USERResource.java
+8
-8
SYS_USER_ROLEResource.java
.../main/java/cn/ibizlab/api/rest/SYS_USER_ROLEResource.java
+8
-8
FileItem.java
...a-util/src/main/java/cn/ibizlab/util/domain/FileItem.java
+2
-0
FileController.java
...il/src/main/java/cn/ibizlab/util/rest/FileController.java
+3
-4
AuthPermissionEvaluator.java
...ava/cn/ibizlab/util/security/AuthPermissionEvaluator.java
+253
-90
SimpleFileService.java
.../main/java/cn/ibizlab/util/service/SimpleFileService.java
+10
-14
未找到文件。
app_web/src/engine/view/wfdyna-exp-grid-view-engine.ts
0 → 100644
浏览文件 @
87e01ce8
import
GridViewEngine
from
'./grid-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class WFDynaExpGridViewEngine
* @extends {GridViewEngine}
*/
export
default
class
WFDynaExpGridViewEngine
extends
GridViewEngine
{
/**
* Creates an instance of WFDynaExpGridViewEngine.
* @memberof WFDynaExpGridViewEngine
*/
constructor
()
{
super
();
}
/**
* 引擎加载
*
* @param {*} [opts={}]
* @memberof WFDynaExpGridViewEngine
*/
public
load
(
opts
:
any
=
{},
isnotify
:
boolean
=
false
):
void
{
this
.
view
.
getWFStepModel
().
then
((
res
:
any
)
=>
{
if
(
!
this
.
view
.
isformDruipart
){
super
.
load
(
opts
);
}
else
{
if
(
isnotify
){
super
.
load
(
opts
);
}
}
})
}
}
\ No newline at end of file
app_web/src/mock/entity/sys-permissions/sys-permissions.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_permissions
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_permission 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_permissions
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_permission 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_permission 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_permissions\/batch$/)).reply((config: any) => {
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_permission 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_permissions\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_permission 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-psappmenuitems/sys-psappmenuitems.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_psappmenuitems
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psappmenuitem 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_psappmenuitems
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psappmenuitem 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_psappmenuitems
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psappmenuitem 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_psappmenuitems\/batch$/)).reply((config: any) =>
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_psappmenuitems
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psappmenuitem 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_psappmenuitems\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_psappmenuitems
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psappmenuitem 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-psdeopprivs/sys-psdeopprivs.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_psdeopprivs
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psdeoppriv 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_psdeopprivs
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psdeoppriv 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_psdeopprivs
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psdeoppriv 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_psdeopprivs\/batch$/)).reply((config: any) => {
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_psdeopprivs
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psdeoppriv 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_psdeopprivs\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_psdeopprivs
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_psdeoppriv 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-role-permissions/sys-role-permissions.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_role_permissions
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role_permission 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_role_permissions
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role_permission 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_role_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role_permission 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_role_permissions\/batch$/)).reply((config: any) =
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_role_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role_permission 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_role_permissions\/batch$/)).reply((config: any) =>
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_role_permissions
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role_permission 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-roles/sys-roles.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_roles
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_roles
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_roles\/batch$/)).reply((config: any) => {
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_roles\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_role 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-user-roles/sys-user-roles.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_user_roles
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user_role 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_user_roles
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user_role 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_user_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user_role 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_user_roles\/batch$/)).reply((config: any) => {
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_user_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user_role 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_user_roles\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_user_roles
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user_role 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/mock/entity/sys-users/sys-users.ts
浏览文件 @
87e01ce8
...
...
@@ -6,10 +6,55 @@ const mock = MockAdapter.getInstance();
const
mockDatas
:
Array
<
any
>
=
[
];
//getwflink
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_users
\/[
a-zA-Z0-9
\-\;]
+
\/
usertasks
\/[
a-zA-Z0-9
\-\;]
+
\/
ways$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user 方法: getwflink"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,[
{
"sequenceFlowId"
:
"dfdsfdsfdsfdsfds"
,
"sequenceFlowName"
:
"同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddlfldldfldsfds"
,
"refViewKey"
:
""
},
{
"sequenceFlowId"
:
"ddssdfdfdfdfsfdf"
,
"sequenceFlowName"
:
"不同意"
,
"taskId"
:
"aaaaddddccccddddd"
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processInstanceId"
:
"ddfdsldlfdlldsf"
,
"refViewKey"
:
"workorder_ltform_editview"
}
]];
});
// getwfstep
mock
.
onGet
(
new
RegExp
(
/^
\/
wfcore
\/
ibzuaa-app-web
\/
sys_users
\/
process-definitions-nodes$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user 方法: getwfstep"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
}
return
[
status
,
[
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-dfdfd"
,
"userTaskName"
:
"待审"
,
"cnt"
:
0
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
},
{
"userTaskId"
:
"sddfddfd-dfdf-fdfd-fdf-87927"
,
"userTaskName"
:
"待分配"
,
"cnt"
:
3
,
"processDefinitionKey"
:
"support-workorders-approve-v1"
,
"processDefinitionName"
:
"工单审批流程v1"
}
]];
});
// createBatch
mock
.
onPost
(
new
RegExp
(
/^
\/
sys_users
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user 方法: createBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -21,6 +66,7 @@ mock.onPost(new RegExp(/^\/sys_users\/batch$/)).reply((config: any) => {
mock
.
onPut
(
new
RegExp
(
/^
\/
sys_users
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user 方法: updateBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
@@ -32,6 +78,7 @@ mock.onPut(new RegExp(/^\/sys_users\/batch$/)).reply((config: any) => {
mock
.
onDelete
(
new
RegExp
(
/^
\/
sys_users
\/
batch$/
)).
reply
((
config
:
any
)
=>
{
console
.
groupCollapsed
(
"实体:sys_user 方法: removeBatch"
);
console
.
table
({
url
:
config
.
url
,
method
:
config
.
method
,
data
:
config
.
data
});
console
.
groupEnd
();
let
status
=
MockAdapter
.
mockStatus
(
config
);
if
(
status
!==
200
)
{
return
[
status
,
{}];
...
...
app_web/src/service/entity-service.ts
浏览文件 @
87e01ce8
...
...
@@ -75,6 +75,24 @@ export default class EntityService {
*/
public
APPDETEXT
:
string
=
''
;
/**
* 当前系统名
*
* @public
* @type {(string)}
* @memberof EntityService
*/
public
SYSTEMNAME
:
string
=
''
;
/**
* 当前应用名
*
* @public
* @type {(string)}
* @memberof EntityService
*/
public
APPNAME
:
string
=
''
;
/**
* Creates an instance of EntityService.
*
...
...
@@ -610,14 +628,19 @@ export default class EntityService {
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isEmbeddedApp]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
WFStart
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
public
async
WFStart
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isEmbeddedApp
?:
boolean
):
Promise
<
any
>
{
if
(
isEmbeddedApp
){
return
Http
.
getInstance
().
post
(
`/wfcore/
${
this
.
SYSTEMNAME
}
-app-
${
this
.
APPNAME
}
/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/process-instances`
,
data
,
isloading
);
}
else
{
const
requestData
:
any
=
{};
Object
.
assign
(
requestData
,{
wfdata
:
data
});
return
Http
.
getInstance
().
post
(
`/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/wfstart`
,
requestData
,
isloading
);
}
}
/**
...
...
@@ -699,16 +722,60 @@ export default class EntityService {
return
Http
.
getInstance
().
post
(
`/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/wfreassign`
,
data
,
isloading
);
}
/**
* WFGetWorkFlow接口方法(获取工作流定义)
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
WFGetWorkFlow
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/wfcore/
${
this
.
SYSTEMNAME
}
-app-
${
this
.
APPNAME
}
/
${
this
.
APPDENAME
}
/process-definitions`
);
}
/**
* WFGetWFStep接口方法(根据系统实体查找当前适配的工作流模型步骤)
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
WFGetWFStep
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/wfcore/
${
this
.
SYSTEMNAME
}
-app-
${
this
.
APPNAME
}
/
${
this
.
APPDENAME
}
/process-definitions-nodes`
);
}
/**
* GetWFLink接口方法(根据业务主键和当前步骤获取操作路径)
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
GetWFLink
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
get
(
`/wfcore/
${
this
.
SYSTEMNAME
}
-app-
${
this
.
APPNAME
}
/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/usertasks/
${
data
[
'taskDefinitionKey'
]}
/ways`
);
}
/**
* WFSubmit接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {boolean} [isEmbeddedApp]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
WFSubmit
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
public
async
WFSubmit
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
,
isEmbeddedApp
?:
boolean
):
Promise
<
any
>
{
if
(
isEmbeddedApp
){
return
Http
.
getInstance
().
post
(
`/wfcore/
${
this
.
SYSTEMNAME
}
-app-
${
this
.
APPNAME
}
/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/tasks/
${
data
[
'taskId'
]}
`
);
}
else
{
const
requestData
:
any
=
{};
if
(
data
.
srfwfmemo
){
requestData
.
srfwfmemo
=
JSON
.
parse
(
JSON
.
stringify
(
data
)).
srfwfmemo
;
...
...
@@ -721,6 +788,7 @@ export default class EntityService {
Object
.
assign
(
requestData
,{
opdata
:{
srfwfiatag
:
context
.
srfwfiatag
,
srfwfstep
:
context
.
srfwfstep
}});
return
Http
.
getInstance
().
post
(
`/
${
this
.
APPDENAME
}
/
${
data
[
this
.
APPDEKEY
]}
/wfsubmit`
,
requestData
,
isloading
);
}
}
/**
* WFGetProxyData接口方法
...
...
app_web/src/service/sys-permission/sys-permission-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_PERMISSIONServiceBase extends EntityService {
this
.
APPDEKEY
=
'permissionid'
;
this
.
APPDENAME
=
'sys_permissions'
;
this
.
APPDETEXT
=
'permissionname'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-psappmenuitem/sys-psappmenuitem-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_PSAPPMENUITEMServiceBase extends EntityService {
this
.
APPDEKEY
=
'appmenuitemid'
;
this
.
APPDENAME
=
'sys_psappmenuitems'
;
this
.
APPDETEXT
=
'appmenuitemname'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-psdeoppriv/sys-psdeoppriv-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_PSDEOPPRIVServiceBase extends EntityService {
this
.
APPDEKEY
=
'psdeopprivid'
;
this
.
APPDENAME
=
'sys_psdeopprivs'
;
this
.
APPDETEXT
=
'psdeopprivname'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-role-permission/sys-role-permission-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_ROLE_PERMISSIONServiceBase extends EntityService {
this
.
APPDEKEY
=
'rolepermissionid'
;
this
.
APPDENAME
=
'sys_role_permissions'
;
this
.
APPDETEXT
=
'rolepermission'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-role/sys-role-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_ROLEServiceBase extends EntityService {
this
.
APPDEKEY
=
'roleid'
;
this
.
APPDENAME
=
'sys_roles'
;
this
.
APPDETEXT
=
'rolename'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-user-role/sys-user-role-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_USER_ROLEServiceBase extends EntityService {
this
.
APPDEKEY
=
'userroleid'
;
this
.
APPDENAME
=
'sys_user_roles'
;
this
.
APPDETEXT
=
'userrolename'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
app_web/src/service/sys-user/sys-user-service-base.ts
浏览文件 @
87e01ce8
...
...
@@ -32,6 +32,8 @@ export default class SYS_USERServiceBase extends EntityService {
this
.
APPDEKEY
=
'userid'
;
this
.
APPDENAME
=
'sys_users'
;
this
.
APPDETEXT
=
'personname'
;
this
.
APPNAME
=
'web'
;
this
.
SYSTEMNAME
=
'ibzuaa'
;
}
// 实体接口
...
...
ibzuaa-app/ibzuaa-app-web/src/main/java/cn/ibizlab/web/config/webSecurityConfig.java
浏览文件 @
87e01ce8
...
...
@@ -41,6 +41,15 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
@Value
(
"${ibiz.auth.path:v7/login}"
)
private
String
loginPath
;
@Value
(
"${ibiz.file.uploadpath:ibizutil/upload}"
)
private
String
uploadpath
;
@Value
(
"${ibiz.file.downloadpath:ibizutil/download}"
)
private
String
downloadpath
;
@Value
(
"${ibiz.file.previewpath:ibizutil/preview}"
)
private
String
previewpath
;
@Autowired
public
void
configureGlobal
(
AuthenticationManagerBuilder
auth
)
throws
Exception
{
auth
...
...
@@ -97,6 +106,10 @@ public class webSecurityConfig extends WebSecurityConfigurerAdapter {
).
permitAll
()
//放行登录请求
.
antMatchers
(
HttpMethod
.
POST
,
"/"
+
loginPath
).
permitAll
()
// 文件操作
.
antMatchers
(
"/"
+
downloadpath
+
"/**"
).
permitAll
()
.
antMatchers
(
"/"
+
uploadpath
).
permitAll
()
.
antMatchers
(
"/"
+
previewpath
+
"/**"
).
permitAll
()
// 所有请求都需要认证
.
anyRequest
().
authenticated
()
// 防止iframe 造成跨域
...
...
ibzuaa-app/ibzuaa-app-web/src/main/resources/application-web-prod.yml
浏览文件 @
87e01ce8
...
...
@@ -32,5 +32,9 @@ zuul:
path
:
/sys_psdeopprivs/**
serviceId
:
ibzuaa-api
stripPrefix
:
false
wfcore
:
path
:
/wfcore/**
serviceId
:
ibzwf-api
stripPrefix
:
false
sensitive-headers
:
-
Cookie,Set-Cookie,Authorization
ibzuaa-boot/src/main/resources/application-dev.yml
浏览文件 @
87e01ce8
server
:
port
:
8080
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_PERMISSIONResource.java
浏览文件 @
87e01ce8
...
...
@@ -80,7 +80,7 @@ public class SYS_PERMISSIONResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_permission_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_permission_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_PERMISSION"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_permissions/{sys_permission_id}"
)
@Transactional
...
...
@@ -98,7 +98,7 @@ public class SYS_PERMISSIONResource {
@PreAuthorize
(
"hasPermission(#sys_permission_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_permission_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_PERMISSION"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_permissions/{sys_permission_id}"
)
@Transactional
...
...
@@ -110,7 +110,7 @@ public class SYS_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_permission_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_permission_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_permissions/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_PERMISSIONDTO
>
sys_permissiondtos
)
{
...
...
@@ -121,7 +121,7 @@ public class SYS_PERMISSIONResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_PERMISSION"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_permissions"
)
@Transactional
...
...
@@ -132,7 +132,7 @@ public class SYS_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_permissions/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_PERMISSIONDTO
>
sys_permissiondtos
)
{
...
...
@@ -152,7 +152,7 @@ public class SYS_PERMISSIONResource {
@PreAuthorize
(
"hasPermission(#sys_permission_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_permission_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_PERMISSION"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_permissions/{sys_permission_id}"
)
public
ResponseEntity
<
SYS_PERMISSIONDTO
>
get
(
@PathVariable
(
"sys_permission_id"
)
String
sys_permission_id
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_PERMISSION"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_permissions/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_PERMISSIONDTO
>>
fetchDefault
(
SYS_PERMISSIONSearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_PERMISSIONResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_PERMISSION"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_permissions/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_PERMISSIONDTO
>>
searchDefault
(
SYS_PERMISSIONSearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_PSAPPMENUITEMResource.java
浏览文件 @
87e01ce8
...
...
@@ -71,7 +71,7 @@ public class SYS_PSAPPMENUITEMResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_PSAPPMENUITEM"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psappmenuitems"
)
@Transactional
...
...
@@ -82,7 +82,7 @@ public class SYS_PSAPPMENUITEMResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psappmenuitems/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_PSAPPMENUITEMDTO
>
sys_psappmenuitemdtos
)
{
...
...
@@ -93,7 +93,7 @@ public class SYS_PSAPPMENUITEMResource {
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_PSAPPMENUITEM"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_psappmenuitems/{sys_psappmenuitem_id}"
)
@Transactional
...
...
@@ -105,7 +105,7 @@ public class SYS_PSAPPMENUITEMResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psappmenuitems/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_PSAPPMENUITEMDTO
>
sys_psappmenuitemdtos
)
{
...
...
@@ -134,7 +134,7 @@ public class SYS_PSAPPMENUITEMResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_psappmenuitem_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_psappmenuitem_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_PSAPPMENUITEM"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_psappmenuitems/{sys_psappmenuitem_id}"
)
@Transactional
...
...
@@ -152,7 +152,7 @@ public class SYS_PSAPPMENUITEMResource {
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psappmenuitem_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_PSAPPMENUITEM"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psappmenuitems/{sys_psappmenuitem_id}"
)
public
ResponseEntity
<
SYS_PSAPPMENUITEMDTO
>
get
(
@PathVariable
(
"sys_psappmenuitem_id"
)
String
sys_psappmenuitem_id
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_PSAPPMENUITEMResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_PSAPPMENUITEM"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psappmenuitems/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_PSAPPMENUITEMDTO
>>
fetchDefault
(
SYS_PSAPPMENUITEMSearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_PSAPPMENUITEMResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_PSAPPMENUITEM"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psappmenuitems/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_PSAPPMENUITEMDTO
>>
searchDefault
(
SYS_PSAPPMENUITEMSearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_PSDEOPPRIVResource.java
浏览文件 @
87e01ce8
...
...
@@ -55,7 +55,7 @@ public class SYS_PSDEOPPRIVResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_psdeoppriv_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_psdeoppriv_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_PSDEOPPRIV"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_psdeopprivs/{sys_psdeoppriv_id}"
)
@Transactional
...
...
@@ -91,7 +91,7 @@ public class SYS_PSDEOPPRIVResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_PSDEOPPRIV"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psdeopprivs"
)
@Transactional
...
...
@@ -102,7 +102,7 @@ public class SYS_PSDEOPPRIVResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psdeopprivs/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_PSDEOPPRIVDTO
>
sys_psdeopprivdtos
)
{
...
...
@@ -113,7 +113,7 @@ public class SYS_PSDEOPPRIVResource {
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_PSDEOPPRIV"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psdeopprivs/{sys_psdeoppriv_id}"
)
public
ResponseEntity
<
SYS_PSDEOPPRIVDTO
>
get
(
@PathVariable
(
"sys_psdeoppriv_id"
)
String
sys_psdeoppriv_id
)
{
...
...
@@ -125,7 +125,7 @@ public class SYS_PSDEOPPRIVResource {
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_PSDEOPPRIV"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_psdeopprivs/{sys_psdeoppriv_id}"
)
@Transactional
...
...
@@ -137,7 +137,7 @@ public class SYS_PSDEOPPRIVResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_psdeoppriv_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_psdeopprivs/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_PSDEOPPRIVDTO
>
sys_psdeopprivdtos
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_PSDEOPPRIVResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_PSDEOPPRIV"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psdeopprivs/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_PSDEOPPRIVDTO
>>
fetchDefault
(
SYS_PSDEOPPRIVSearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_PSDEOPPRIVResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_PSDEOPPRIV"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_psdeopprivs/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_PSDEOPPRIVDTO
>>
searchDefault
(
SYS_PSDEOPPRIVSearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_ROLEResource.java
浏览文件 @
87e01ce8
...
...
@@ -71,7 +71,7 @@ public class SYS_ROLEResource {
@PreAuthorize
(
"hasPermission(#sys_role_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_ROLE"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_roles/{sys_role_id}"
)
@Transactional
...
...
@@ -83,7 +83,7 @@ public class SYS_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_role_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_roles/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_ROLEDTO
>
sys_roledtos
)
{
...
...
@@ -94,7 +94,7 @@ public class SYS_ROLEResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_ROLE"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_roles"
)
@Transactional
...
...
@@ -105,7 +105,7 @@ public class SYS_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_roles/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_ROLEDTO
>
sys_roledtos
)
{
...
...
@@ -116,7 +116,7 @@ public class SYS_ROLEResource {
@PreAuthorize
(
"hasPermission(#sys_role_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_ROLE"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_roles/{sys_role_id}"
)
public
ResponseEntity
<
SYS_ROLEDTO
>
get
(
@PathVariable
(
"sys_role_id"
)
String
sys_role_id
)
{
...
...
@@ -128,7 +128,7 @@ public class SYS_ROLEResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_role_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_role_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_ROLE"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_roles/{sys_role_id}"
)
@Transactional
...
...
@@ -161,7 +161,7 @@ public class SYS_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
sys_roleService
.
checkKey
(
sys_roleMapping
.
toDomain
(
sys_roledto
)));
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_ROLE"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_roles/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_ROLEDTO
>>
fetchDefault
(
SYS_ROLESearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_ROLEResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_ROLE"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_roles/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_ROLEDTO
>>
searchDefault
(
SYS_ROLESearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_ROLE_PERMISSIONResource.java
浏览文件 @
87e01ce8
...
...
@@ -55,7 +55,7 @@ public class SYS_ROLE_PERMISSIONResource {
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_ROLE_PERMISSION"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_role_permissions/{sys_role_permission_id}"
)
public
ResponseEntity
<
SYS_ROLE_PERMISSIONDTO
>
get
(
@PathVariable
(
"sys_role_permission_id"
)
String
sys_role_permission_id
)
{
...
...
@@ -67,7 +67,7 @@ public class SYS_ROLE_PERMISSIONResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_role_permission_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_role_permission_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_ROLE_PERMISSION"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_role_permissions/{sys_role_permission_id}"
)
@Transactional
...
...
@@ -94,7 +94,7 @@ public class SYS_ROLE_PERMISSIONResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_ROLE_PERMISSION"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_role_permissions"
)
@Transactional
...
...
@@ -105,7 +105,7 @@ public class SYS_ROLE_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_role_permissions/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_ROLE_PERMISSIONDTO
>
sys_role_permissiondtos
)
{
...
...
@@ -141,7 +141,7 @@ public class SYS_ROLE_PERMISSIONResource {
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_ROLE_PERMISSION"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_role_permissions/{sys_role_permission_id}"
)
@Transactional
...
...
@@ -153,7 +153,7 @@ public class SYS_ROLE_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_role_permission_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_role_permissions/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_ROLE_PERMISSIONDTO
>
sys_role_permissiondtos
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_ROLE_PERMISSIONResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_ROLE_PERMISSION"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_role_permissions/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_ROLE_PERMISSIONDTO
>>
fetchDefault
(
SYS_ROLE_PERMISSIONSearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_ROLE_PERMISSIONResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_ROLE_PERMISSION"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_role_permissions/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_ROLE_PERMISSIONDTO
>>
searchDefault
(
SYS_ROLE_PERMISSIONSearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_USERResource.java
浏览文件 @
87e01ce8
...
...
@@ -55,7 +55,7 @@ public class SYS_USERResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_user_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_user_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_USER"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_users/{sys_user_id}"
)
@Transactional
...
...
@@ -73,7 +73,7 @@ public class SYS_USERResource {
@PreAuthorize
(
"hasPermission(#sys_user_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_USER"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_users/{sys_user_id}"
)
@Transactional
...
...
@@ -85,7 +85,7 @@ public class SYS_USERResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_user_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_users/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_USERDTO
>
sys_userdtos
)
{
...
...
@@ -105,7 +105,7 @@ public class SYS_USERResource {
@PreAuthorize
(
"hasPermission(#sys_user_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_USER"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_users/{sys_user_id}"
)
public
ResponseEntity
<
SYS_USERDTO
>
get
(
@PathVariable
(
"sys_user_id"
)
String
sys_user_id
)
{
...
...
@@ -142,7 +142,7 @@ public class SYS_USERResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_USER"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_users"
)
@Transactional
...
...
@@ -153,7 +153,7 @@ public class SYS_USERResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_users/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_USERDTO
>
sys_userdtos
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_USERResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_USER"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_users/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_USERDTO
>>
fetchDefault
(
SYS_USERSearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_USERResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_USER"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_users/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_USERDTO
>>
searchDefault
(
SYS_USERSearchContext
context
)
{
...
...
ibzuaa-provider/ibzuaa-provider-api/src/main/java/cn/ibizlab/api/rest/SYS_USER_ROLEResource.java
浏览文件 @
87e01ce8
...
...
@@ -73,7 +73,7 @@ public class SYS_USER_ROLEResource {
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Update"
,
tags
=
{
"SYS_USER_ROLE"
},
notes
=
"Update"
)
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/sys_user_roles/{sys_user_role_id}"
)
@Transactional
...
...
@@ -85,7 +85,7 @@ public class SYS_USER_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'U
PDATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'U
pdate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"UpdateBatch"
,
tags
=
{
"UpdateBatch"
},
notes
=
"UpdateBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_user_roles/updatebatch"
)
public
ResponseEntity
<
Boolean
>
updateBatch
(
@RequestBody
List
<
SYS_USER_ROLEDTO
>
sys_user_roledtos
)
{
...
...
@@ -96,7 +96,7 @@ public class SYS_USER_ROLEResource {
@PreAuthorize
(
"hasPermission('
DELETE',{#sys_user_role_id,this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Remove',{#sys_user_role_id,{this.getEntity(),'Sql'}
})"
)
@ApiOperation
(
value
=
"Remove"
,
tags
=
{
"SYS_USER_ROLE"
},
notes
=
"Remove"
)
@RequestMapping
(
method
=
RequestMethod
.
DELETE
,
value
=
"/sys_user_roles/{sys_user_role_id}"
)
@Transactional
...
...
@@ -114,7 +114,7 @@ public class SYS_USER_ROLEResource {
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Create"
,
tags
=
{
"SYS_USER_ROLE"
},
notes
=
"Create"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_user_roles"
)
@Transactional
...
...
@@ -125,7 +125,7 @@ public class SYS_USER_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
dto
);
}
@PreAuthorize
(
"hasPermission('','C
REATE',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission('','C
reate',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"createBatch"
,
tags
=
{
"createBatch"
},
notes
=
"createBatch"
)
@RequestMapping
(
method
=
RequestMethod
.
POST
,
value
=
"/sys_user_roles/createbatch"
)
public
ResponseEntity
<
Boolean
>
createBatch
(
@RequestBody
List
<
SYS_USER_ROLEDTO
>
sys_user_roledtos
)
{
...
...
@@ -136,7 +136,7 @@ public class SYS_USER_ROLEResource {
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'
READ',this.getEntity()
)"
)
@PreAuthorize
(
"hasPermission(#sys_user_role_id,'
Get',{this.getEntity(),'Sql'}
)"
)
@ApiOperation
(
value
=
"Get"
,
tags
=
{
"SYS_USER_ROLE"
},
notes
=
"Get"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_user_roles/{sys_user_role_id}"
)
public
ResponseEntity
<
SYS_USER_ROLEDTO
>
get
(
@PathVariable
(
"sys_user_role_id"
)
String
sys_user_role_id
)
{
...
...
@@ -161,7 +161,7 @@ public class SYS_USER_ROLEResource {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
true
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"fetchDEFAULT"
,
tags
=
{
"SYS_USER_ROLE"
}
,
notes
=
"fetchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_user_roles/fetchdefault"
)
public
ResponseEntity
<
List
<
SYS_USER_ROLEDTO
>>
fetchDefault
(
SYS_USER_ROLESearchContext
context
)
{
...
...
@@ -174,7 +174,7 @@ public class SYS_USER_ROLEResource {
.
body
(
list
);
}
@PreAuthorize
(
"hasPermission('
READ',{#context,'Default',this.getEntity()
})"
)
@PreAuthorize
(
"hasPermission('
Get',{#context,'Default',this.getEntity(),'Sql'
})"
)
@ApiOperation
(
value
=
"searchDEFAULT"
,
tags
=
{
"SYS_USER_ROLE"
}
,
notes
=
"searchDEFAULT"
)
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/sys_user_roles/searchdefault"
)
public
ResponseEntity
<
Page
<
SYS_USER_ROLEDTO
>>
searchDefault
(
SYS_USER_ROLESearchContext
context
)
{
...
...
ibzuaa-util/src/main/java/cn/ibizlab/util/domain/FileItem.java
浏览文件 @
87e01ce8
...
...
@@ -14,6 +14,8 @@ public class FileItem
{
private
String
id
;
private
String
name
;
private
String
fileid
;
private
String
filename
;
private
long
size
;
private
String
ext
;
}
ibzuaa-util/src/main/java/cn/ibizlab/util/rest/FileController.java
浏览文件 @
87e01ce8
...
...
@@ -14,21 +14,20 @@ import java.io.*;
@Slf4j
@RestController
@RequestMapping
(
"/"
)
public
class
FileController
{
@Autowired
private
FileService
fileService
;
@PostMapping
(
value
=
"${ibiz.
uploadpath.
path:ibizutil/upload}"
)
@PostMapping
(
value
=
"${ibiz.
file.upload
path:ibizutil/upload}"
)
public
ResponseEntity
<
FileItem
>
upload
(
@RequestParam
(
"file"
)
MultipartFile
multipartFile
){
return
ResponseEntity
.
ok
().
body
(
fileService
.
saveFile
(
multipartFile
));
}
private
final
String
defaultdownloadpath
=
"ibizutil/download/{id}"
;
protected
String
getDefaultdownloadpath
(){
return
defaultdownloadpath
;
}
@GetMapping
(
value
=
"${ibiz.file.downloadpath:"
+
defaultdownloadpath
+
"}"
)
@ResponseStatus
(
HttpStatus
.
OK
)
...
...
ibzuaa-util/src/main/java/cn/ibizlab/util/security/AuthPermissionEvaluator.java
浏览文件 @
87e01ce8
...
...
@@ -4,17 +4,28 @@ import com.alibaba.fastjson.JSONArray;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.mongodb.BasicDBList
;
import
com.mongodb.BasicDBObject
;
import
com.mongodb.QueryBuilder
;
import
cn.ibizlab.util.annotation.DEField
;
import
cn.ibizlab.util.domain.EntityBase
;
import
cn.ibizlab.util.enums.DEPredefinedFieldType
;
import
cn.ibizlab.util.filter.QueryBuildContext
;
import
cn.ibizlab.util.filter.QueryWrapperContext
;
import
cn.ibizlab.util.helper.DEFieldCacheMap
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.BasicQuery
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.security.access.PermissionEvaluator
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
javax.swing.text.html.parser.Entity
;
import
java.io.Serializable
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
...
...
@@ -39,6 +50,13 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
* 实体数据集操作标识
*/
private
String
DataSetTag
=
"DATASET"
;
/**
*实体主键标识
*/
private
String
keyFieldTag
=
"keyfield"
;
@Resource
private
MongoTemplate
mongoTemplate
;
/**
* 表格权限检查 :用于检查当前用户是否拥有表格数据的读取、删除权限
...
...
@@ -56,6 +74,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
return
true
;
String
action
=
""
;
String
deStorageMode
;
if
(
deAction
instanceof
String
)
action
=
(
String
)
deAction
;
...
...
@@ -69,10 +88,11 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
return
false
;
List
gridParamList
=
(
ArrayList
)
gridParam
;
if
(
action
.
equals
(
"DELETE"
)){
//grid delete
if
(
action
.
equals
IgnoreCase
(
"remove"
)){
//准备参数
Object
srfKey
=
gridParamList
.
get
(
0
);
EntityBase
entity
=
(
EntityBase
)
gridParamList
.
get
(
1
);
deStorageMode
=
(
String
)
gridParamList
.
get
(
2
);
String
entityName
=
entity
.
getClass
().
getSimpleName
();
//获取实体行为权限信息
...
...
@@ -82,61 +102,53 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
if
(!
validDEActionHasPermission
(
permissionList
,
entityName
,
action
)){
return
false
;
}
//检查是否有数据权限[单行删除]
ServiceImpl
service
=
SpringContextHolder
.
getBean
(
String
.
format
(
"%s%s"
,
entityName
,
"ServiceImpl"
));
//获取实体service对象
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
permissionSQL
=
getPermissionSQLById
(
permissionList
,
entityName
,
action
,
srfKey
,
permissionField
);
//获取权限SQL
if
(
StringUtils
.
isEmpty
(
permissionSQL
))
return
false
;
QueryWrapper
permissionWrapper
=
getPermissionWrapper
(
permissionSQL
);
//构造权限条件
return
testDataAccess
(
service
,
permissionWrapper
);
//执行权限检查
//检查是否有数据权限
return
deActionPermissionValidRouter
(
deStorageMode
,
entity
,
action
,
srfKey
,
permissionList
);
}
else
{
//grid fetch
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
(
"userPermissionList"
);
if
(
StringUtils
.
isEmpty
(
entityName
)||
StringUtils
.
isEmpty
(
dataSetName
)
||
StringUtils
.
isEmpty
(
action
)
)
if
(
StringUtils
.
isEmpty
(
entityName
)||
StringUtils
.
isEmpty
(
dataSetName
))
return
false
;
//检查是否有访问数据集的权限
if
(!
validDataSetHasPermission
(
permissionList
,
entityName
,
dataSetName
)){
return
false
;
}
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
permissionSQL
=
getPermissionSQLByList
(
permissionList
,
entityName
,
action
,
dataSetName
,
permissionField
);
//获取权限SQL
if
(
StringUtils
.
isEmpty
(
permissionSQL
))
return
false
;
fillPermissionSQL
(
searchContext
,
permissionSQL
);
//将权限SQL添加到searchContext中,过滤出权限内数据
//拼接权限条件
deDataSetFillPermissionSQLRouter
(
deStorageMode
,
searchContext
,
entity
,
dataSetName
,
permissionList
);
}
return
true
;
}
/**
* 表单权限检查 :用于检查当前用户是否拥有表单的新建、编辑、删除权限
*
* @param authentication
* @param srfKey 当前操作数据的主键
* @param action 当前操作行为:如:[READ、UPDATE、DELETE]
* @param
cur_entity 当前操作的实体
对象
* @param
formParam 表单参数
对象
* @return true/false true则允许当前行为,false拒绝行为
*/
@Override
public
boolean
hasPermission
(
Authentication
authentication
,
Serializable
srfKey
,
String
action
,
Object
cur_entity
)
{
public
boolean
hasPermission
(
Authentication
authentication
,
Serializable
srfKey
,
String
action
,
Object
formParam
)
{
//未开启权限校验、超级管理员则不进行权限检查
if
(
AuthenticationUser
.
getAuthenticationUser
().
getSuperuser
()==
1
||
!
enablePermissionValid
)
return
true
;
EntityBase
entity
=
null
;
if
(
cur_entity
instanceof
EntityBase
)
entity
=
(
EntityBase
)
cur_entity
;
List
formParamList
=
(
ArrayList
)
formParam
;
EntityBase
entity
=
(
EntityBase
)
formParamList
.
get
(
0
);
String
deStorageMode
=
(
String
)
formParamList
.
get
(
1
)
;
if
(
StringUtils
.
isEmpty
(
entity
))
return
false
;
...
...
@@ -145,7 +157,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
JSONObject
permissionList
=
userPermission
.
getJSONObject
(
"userPermissionList"
);
String
entityName
=
entity
.
getClass
().
getSimpleName
();
if
(
action
.
equals
(
"CREATE
"
)){
if
(
action
.
equals
IgnoreCase
(
"create
"
)){
return
validDEActionHasPermission
(
permissionList
,
entityName
,
action
);
}
else
{
...
...
@@ -158,13 +170,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
return
false
;
}
//检查是否有数据权限
ServiceImpl
service
=
SpringContextHolder
.
getBean
(
String
.
format
(
"%s%s"
,
entityName
,
"ServiceImpl"
));
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
permissionSQL
=
getPermissionSQLById
(
permissionList
,
entityName
,
action
,
srfKey
,
permissionField
);
//获取权限SQL
if
(
StringUtils
.
isEmpty
(
permissionSQL
))
return
false
;
QueryWrapper
permissionWrapper
=
getPermissionWrapper
(
permissionSQL
);
//构造权限条件
return
testDataAccess
(
service
,
permissionWrapper
);
//执行权限检查
return
deActionPermissionValidRouter
(
deStorageMode
,
entity
,
action
,
srfKey
,
permissionList
);
}
}
...
...
@@ -188,39 +194,6 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
return
false
;
}
/**
* 拼接表格查询条件
* @param gridDataAbility
* @param entityName
* @param action
* @param dataSetName
* @param permissionField
* @return
*/
private
String
getPermissionSQLByList
(
JSONObject
gridDataAbility
,
String
entityName
,
String
action
,
String
dataSetName
,
Map
<
String
,
String
>
permissionField
){
JSONObject
entity
=
gridDataAbility
.
getJSONObject
(
entityName
);
//获取实体
JSONObject
permissionType
=
entity
.
getJSONObject
(
DataSetTag
);
JSONArray
dataRange
=
permissionType
.
getJSONArray
(
dataSetName
);
//获取实体数据集
if
(
dataRange
.
size
()==
0
)
return
null
;
return
getPermissionSQL
(
dataRange
,
permissionField
);
//拼接权限条件-查询
}
/**
* 填充权限SQL
* @param targetDomainObject
* @param permissionCond
*/
private
void
fillPermissionSQL
(
Object
targetDomainObject
,
String
permissionCond
){
if
(
targetDomainObject
instanceof
QueryWrapperContext
){
QueryWrapperContext
queryWrapperContext
=
(
QueryWrapperContext
)
targetDomainObject
;
QueryWrapper
queryWrapper
=
queryWrapperContext
.
getSelectCond
();
queryWrapper
.
apply
(
permissionCond
);
}
}
/**
* 实体行为权限校验
* @param userPermission
...
...
@@ -246,7 +219,6 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
return
hasPermission
;
}
/**
* 数据集合权限校验
* @param userPermission
...
...
@@ -276,53 +248,244 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
}
/**
*
获取单条权限数据SQL
* @param
formDataAbility
* @param entity
Name
*
根据实体存储模式,进行鉴权
* @param
deStorageMode
* @param entity
* @param action
* @param srfKey
* @param permission
Field
* @param permission
List
* @return
*/
private
String
getPermissionSQLById
(
JSONObject
formDataAbility
,
String
entityName
,
String
action
,
Object
srfKey
,
Map
<
String
,
String
>
permissionField
){
private
boolean
deActionPermissionValidRouter
(
String
deStorageMode
,
EntityBase
entity
,
String
action
,
Object
srfKey
,
JSONObject
permissionList
){
JSONObject
entity
=
formDataAbility
.
getJSONObject
(
entityName
);
//获取实体
JSONObject
permissionType
=
entity
.
getJSONObject
(
DEActionType
);
if
(
deStorageMode
.
equalsIgnoreCase
(
"sql"
)){
return
sqlPermissionValid
(
entity
,
action
,
srfKey
,
permissionList
);
}
else
if
(
deStorageMode
.
equalsIgnoreCase
(
"nosql"
)){
return
noSqlPermissionValid
(
entity
,
action
,
srfKey
,
permissionList
);
}
else
if
(
deStorageMode
.
equalsIgnoreCase
(
"serviceapi"
)){
return
true
;
}
else
{
throw
new
RuntimeException
(
String
.
format
(
"未能识别[%s]实体对应存储模式[%s]"
,
entity
.
getClass
().
getSimpleName
(),
deStorageMode
));
}
}
/**
* sql存储模式实体行为鉴权
* @param entity
* @param action
* @param srfKey
* @param permissionList
* @return
*/
private
boolean
sqlPermissionValid
(
EntityBase
entity
,
String
action
,
Object
srfKey
,
JSONObject
permissionList
){
String
entityName
=
entity
.
getClass
().
getSimpleName
();
ServiceImpl
service
=
SpringContextHolder
.
getBean
(
String
.
format
(
"%s%s"
,
entityName
,
"ServiceImpl"
));
//获取实体service对象
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
keyField
=
permissionField
.
get
(
keyFieldTag
);
if
(
StringUtils
.
isEmpty
(
keyField
)){
throw
new
RuntimeException
(
"权限校验失败,请检查当前实体中是否已经配置主键属性!"
);
}
//获取权限表达式[全部数据、本单位、本部门等]
JSONObject
entityObj
=
permissionList
.
getJSONObject
(
entity
.
getClass
().
getSimpleName
());
//获取实体
JSONObject
permissionType
=
entityObj
.
getJSONObject
(
DEActionType
);
JSONArray
opprivList
=
permissionType
.
getJSONArray
(
action
);
//行为:read;insert...
if
(
opprivList
.
size
()==
0
)
return
null
;
String
permissionSQL
=
getPermissionSQL
(
opprivList
,
permissionField
);
return
false
;
//通过权限表达式来获取sql
String
tempPermissionSQL
=
getPermissionSQL
(
entity
,
opprivList
);
String
permissionSQL
=
String
.
format
(
" (%s) AND (%s='%s')"
,
tempPermissionSQL
,
keyField
,
srfKey
);
//拼接权限条件-编辑
//执行sql进行权限检查
QueryWrapper
permissionWrapper
=
getPermissionWrapper
(
permissionSQL
);
//构造权限条件
List
list
=
service
.
list
(
permissionWrapper
);
if
(
list
.
size
()>
0
){
return
true
;
}
else
{
return
false
;
}
String
keyField
=
permissionField
.
get
(
"keyfield"
);
}
/**
* NoSQL实体行为鉴权
* @param entity
* @param action
* @param srfKey
* @param permissionList
* @return
*/
private
boolean
noSqlPermissionValid
(
EntityBase
entity
,
String
action
,
Object
srfKey
,
JSONObject
permissionList
)
{
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
keyField
=
permissionField
.
get
(
keyFieldTag
);
if
(
StringUtils
.
isEmpty
(
keyField
)){
throw
new
RuntimeException
(
"权限校验失败,请检查当前实体中是否已经配置主键属性!"
);
}
return
String
.
format
(
" (%s) AND (%s='%s')"
,
permissionSQL
,
keyField
,
srfKey
);
//拼接权限条件-编辑
//获取权限表达式[全部数据、本单位、本部门等]
JSONObject
entityObj
=
permissionList
.
getJSONObject
(
entity
.
getClass
().
getSimpleName
());
//获取实体
JSONObject
permissionType
=
entityObj
.
getJSONObject
(
DEActionType
);
JSONArray
dataRange
=
permissionType
.
getJSONArray
(
action
);
//行为:read;insert...
if
(
dataRange
.
size
()==
0
)
return
false
;
//根据权限表达式填充权限条件
QueryBuilder
permissionCond
=
new
QueryBuilder
();
fillNoSqlPermissionCond
(
dataRange
,
entity
,
permissionCond
);
//权限条件拼接主键
permissionCond
.
and
(
keyField
).
is
(
srfKey
);
//执行权限检查
Query
query
=
new
BasicQuery
(
permissionCond
.
get
().
toString
());
List
list
=
mongoTemplate
.
find
(
query
,
entity
.
getClass
());
if
(
list
.
size
()>
0
){
return
true
;
}
else
{
return
false
;
}
}
/**
* 表单权限检查
* @param service
* @param permissionCond
* @return
* 根据实体存储类型,拼接权限条件
* @param deStorageMode
* @param searchContext
* @param entity
* @param dataSetName
* @param permissionList
*/
private
void
deDataSetFillPermissionSQLRouter
(
String
deStorageMode
,
Object
searchContext
,
EntityBase
entity
,
String
dataSetName
,
JSONObject
permissionList
){
//检查是否有数据权限[单行删除]
if
(
deStorageMode
.
equalsIgnoreCase
(
"sql"
)){
sqlPermissionBuilder
(
searchContext
,
entity
,
dataSetName
,
permissionList
);
}
else
if
(
deStorageMode
.
equalsIgnoreCase
(
"nosql"
)){
noSqlPermissionBuilder
(
searchContext
,
entity
,
dataSetName
,
permissionList
);
}
else
if
(
deStorageMode
.
equalsIgnoreCase
(
"serviceapi"
)){
}
else
{
throw
new
RuntimeException
(
String
.
format
(
"未能识别[%s]实体对应存储模式[%s]"
,
entity
.
getClass
().
getSimpleName
(),
deStorageMode
));
}
}
/**
* 为NoSQL存储模式的表格查询填充权限条件
* @param searchContext
* @param entity
* @param dataSetName
* @param permissionList
*/
private
void
noSqlPermissionBuilder
(
Object
searchContext
,
EntityBase
entity
,
String
dataSetName
,
JSONObject
permissionList
)
{
if
(
searchContext
instanceof
QueryBuildContext
){
//获取权限表达式[全部数据、本单位、本部门等]
String
entityName
=
entity
.
getClass
().
getSimpleName
();
JSONObject
entityObj
=
permissionList
.
getJSONObject
(
entityName
);
JSONObject
permissionType
=
entityObj
.
getJSONObject
(
DataSetTag
);
JSONArray
dataRange
=
permissionType
.
getJSONArray
(
dataSetName
);
if
(
dataRange
.
size
()==
0
)
return
;
//根据权限表达式生成查询条件,并将查询条件设置到SearchContext中
fillNoSqlPermissionCond
(
dataRange
,
entity
,((
QueryBuildContext
)
searchContext
).
getSelectCond
());
}
}
/**
* 为SQL存储模式的表格查询填充权限条件
* @param searchContext
* @param entity
* @param dataSetName
* @param permissionList
*/
private
void
sqlPermissionBuilder
(
Object
searchContext
,
EntityBase
entity
,
String
dataSetName
,
JSONObject
permissionList
){
//获取权限表达式[全部数据、本单位、本部门等]
String
entityName
=
entity
.
getClass
().
getSimpleName
();
JSONObject
entityObj
=
permissionList
.
getJSONObject
(
entityName
);
//获取实体
JSONObject
permissionType
=
entityObj
.
getJSONObject
(
DataSetTag
);
JSONArray
dataRange
=
permissionType
.
getJSONArray
(
dataSetName
);
//获取实体数据集
if
(
dataRange
.
size
()==
0
)
return
;
//根据权限条件获取SQL
String
permissionSQL
=
getPermissionSQL
(
entity
,
dataRange
);
//将SQL拼接到SearchContext中
if
(
searchContext
instanceof
QueryWrapperContext
){
QueryWrapperContext
queryWrapperContext
=
(
QueryWrapperContext
)
searchContext
;
QueryWrapper
queryWrapper
=
queryWrapperContext
.
getSelectCond
();
queryWrapper
.
apply
(
permissionSQL
);
}
}
/**
* 为NoSQL存储模式的表格查询填充权限条件
* @param oppriList
* @param entity
* @param permissionSQL
*/
private
boolean
testDataAccess
(
ServiceImpl
service
,
QueryWrapper
permissionCond
){
private
void
fillNoSqlPermissionCond
(
JSONArray
oppriList
,
EntityBase
entity
,
QueryBuilder
permissionSQL
){
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
orgField
=
permissionField
.
get
(
"orgfield"
);
String
orgDeptField
=
permissionField
.
get
(
"orgsecfield"
);
String
createManField
=
permissionField
.
get
(
"createmanfield"
);
AuthenticationUser
authenticationUser
=
AuthenticationUser
.
getAuthenticationUser
();
JSONObject
userInfo
=
authenticationUser
.
getOrgInfo
();
JSONObject
orgObject
=
userInfo
.
getJSONObject
(
"org"
);
JSONArray
orgParent
=
orgObject
.
getJSONArray
(
"porg"
);
JSONArray
orgChild
=
orgObject
.
getJSONArray
(
"sorg"
);
JSONObject
orgDeptObject
=
userInfo
.
getJSONObject
(
"orgdept"
);
JSONArray
orgDeptParent
=
orgDeptObject
.
getJSONArray
(
"porgdept"
);
JSONArray
orgDeptChild
=
orgDeptObject
.
getJSONArray
(
"sorgdept"
);
boolean
isPermission
=
false
;
List
list
=
service
.
list
(
permissionCond
);
if
(
list
.
size
()>
0
)
isPermission
=
true
;
return
isPermission
;
for
(
int
i
=
0
;
i
<
oppriList
.
size
();
i
++){
String
permissionCond
=
oppriList
.
getString
(
i
);
//权限配置条件
if
(
permissionCond
.
equals
(
"CURORG"
)){
//本单位
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgField
).
is
(
AuthenticationUser
.
getAuthenticationUser
().
getOrgid
()).
get
());
}
else
if
(
permissionCond
.
equals
(
"PORG"
)){
//上级单位
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgField
).
in
(
formatStringArr
(
orgParent
)).
get
());
}
else
if
(
permissionCond
.
equals
(
"SORG"
)){
//下级单位
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgField
).
in
(
formatStringArr
(
orgChild
)).
get
());
}
else
if
(
permissionCond
.
equals
(
"CREATEMAN"
)){
//建立人
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
createManField
).
is
(
AuthenticationUser
.
getAuthenticationUser
().
getUserid
()).
get
());
}
else
if
(
permissionCond
.
equals
(
"CURORGDEPT"
)){
//本部门
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgDeptField
).
is
(
AuthenticationUser
.
getAuthenticationUser
().
getMdeptid
()).
get
());
}
else
if
(
permissionCond
.
equals
(
"PORGDEPT"
)){
//上级部门
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgDeptField
).
in
(
formatStringArr
(
orgDeptParent
)).
get
());
}
else
if
(
permissionCond
.
equals
(
"SORGDEPT"
)){
//下级部门
permissionSQL
.
or
(
new
QueryBuilder
().
and
(
orgDeptField
).
in
(
formatStringArr
(
orgDeptChild
)).
get
());
}
else
if
(
permissionCond
.
equals
(
"ALL"
)){
permissionSQL
.
or
(
new
QueryBuilder
().
get
());
}
}
}
/**
* 获取权限SQL
* SQL获取权限条件
* @param entity
* @param oppriList
* @param permissionField
* @return
*/
private
String
getPermissionSQL
(
JSONArray
oppriList
,
Map
<
String
,
String
>
permissionField
){
private
String
getPermissionSQL
(
EntityBase
entity
,
JSONArray
oppriList
){
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
nPermissionSQL
=
"1<>1"
;
String
orgField
=
permissionField
.
get
(
"orgfield"
);
String
orgDeptField
=
permissionField
.
get
(
"orgsecfield"
);
...
...
ibzuaa-util/src/main/java/cn/ibizlab/util/service/SimpleFileService.java
浏览文件 @
87e01ce8
...
...
@@ -3,6 +3,7 @@ package cn.ibizlab.util.service;
import
cn.ibizlab.util.domain.FileItem
;
import
cn.ibizlab.util.errors.InternalServerErrorException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.util.DigestUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.stereotype.Service
;
...
...
@@ -11,7 +12,6 @@ import org.springframework.web.multipart.MultipartFile;
import
java.io.File
;
import
java.io.IOException
;
import
java.nio.file.Files
;
import
java.util.UUID
;
@Primary
@Slf4j
...
...
@@ -21,26 +21,22 @@ public class SimpleFileService implements FileService {
@Value
(
"${ibiz.filePath:/app/file/}"
)
private
String
fileRoot
;
@Override
public
FileItem
saveFile
(
MultipartFile
multipartFile
)
{
FileItem
item
=
null
;
// 获取文件名
String
fileName
=
multipartFile
.
getOriginalFilename
();
// 获取文件后缀
String
extname
=
"."
+
getExtensionName
(
fileName
);
// 用uuid作为文件名,防止生成的临时文件重复
String
fileid
=
UUID
.
randomUUID
().
toString
();
String
fileFullPath
=
this
.
fileRoot
+
"ibztuit"
+
File
.
separator
+
fileid
+
File
.
separator
+
fileName
;
try
{
String
fileid
=
DigestUtils
.
md5DigestAsHex
(
multipartFile
.
getInputStream
());
String
fileFullPath
=
this
.
fileRoot
+
"ibizutil"
+
File
.
separator
+
fileid
+
File
.
separator
+
fileName
;
File
file
=
new
File
(
fileFullPath
);
File
parent
=
new
File
(
file
.
getParent
());
if
(!
parent
.
exists
())
parent
.
mkdirs
();
try
{
FileCopyUtils
.
copy
(
multipartFile
.
getInputStream
()
,
Files
.
newOutputStream
(
file
.
toPath
()));
item
=
new
FileItem
(
fileid
,
fileName
,
(
int
)
multipartFile
.
getSize
()
,
extname
);
FileCopyUtils
.
copy
(
multipartFile
.
getInputStream
(),
Files
.
newOutputStream
(
file
.
toPath
()));
item
=
new
FileItem
(
fileid
,
fileName
,
fileid
,
fileName
,(
int
)
multipartFile
.
getSize
(),
extname
);
}
catch
(
IOException
e
)
{
throw
new
InternalServerErrorException
(
"文件上传失败"
);
}
...
...
@@ -49,7 +45,7 @@ public class SimpleFileService implements FileService {
@Override
public
File
getFile
(
String
fileid
)
{
String
dirpath
=
this
.
fileRoot
+
"ib
ztuit
"
+
File
.
separator
+
fileid
;
String
dirpath
=
this
.
fileRoot
+
"ib
izutil
"
+
File
.
separator
+
fileid
;
File
parent
=
new
File
(
dirpath
);
if
(
parent
.
exists
()
&&
parent
.
isDirectory
()
&&
parent
.
listFiles
().
length
>
0
)
{
return
parent
.
listFiles
()[
0
];
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录