Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pentaLiker
DolphinScheduler
提交
c843e3a3
DolphinScheduler
项目概览
pentaLiker
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
c843e3a3
编写于
6月 12, 2022
作者:
W
WangJPLeo
提交者:
GitHub
6月 12, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed the problem of not having permission to modify the allocated resource data. (#10410)
上级
f4dad689
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
14 addition
and
18 deletion
+14
-18
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckService.java
...eduler/api/permission/ResourcePermissionCheckService.java
+4
-4
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
...er/api/permission/ResourcePermissionCheckServiceImpl.java
+4
-4
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
...lphinscheduler/api/service/impl/ResourcesServiceImpl.java
+0
-5
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
...dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
+1
-1
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
...he/dolphinscheduler/api/service/ResourcesServiceTest.java
+2
-2
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UdfFuncServiceTest.java
...ache/dolphinscheduler/api/service/UdfFuncServiceTest.java
+3
-2
未找到文件。
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckService.java
浏览文件 @
c843e3a3
...
...
@@ -31,7 +31,7 @@ public interface ResourcePermissionCheckService<T>{
* @param logger
* @return
*/
boolean
resourcePermissionCheck
(
AuthorizationType
authorizationType
,
Object
[]
needChecks
,
Integer
userId
,
Logger
logger
);
boolean
resourcePermissionCheck
(
Object
authorizationType
,
Object
[]
needChecks
,
Integer
userId
,
Logger
logger
);
/**
* userOwnedResourceIdsAcquisition
...
...
@@ -41,7 +41,7 @@ public interface ResourcePermissionCheckService<T>{
* @param <T>
* @return
*/
Set
<
T
>
userOwnedResourceIdsAcquisition
(
AuthorizationType
authorizationType
,
Integer
userId
,
Logger
logger
);
Set
<
T
>
userOwnedResourceIdsAcquisition
(
Object
authorizationType
,
Integer
userId
,
Logger
logger
);
/**
* operationpermissionCheck
...
...
@@ -51,7 +51,7 @@ public interface ResourcePermissionCheckService<T>{
* @param logger
* @return
*/
boolean
operationPermissionCheck
(
AuthorizationType
authorizationType
,
Integer
userId
,
String
permissionKey
,
Logger
logger
);
boolean
operationPermissionCheck
(
Object
authorizationType
,
Integer
userId
,
String
permissionKey
,
Logger
logger
);
/**
* functionDisabled
...
...
@@ -65,5 +65,5 @@ public interface ResourcePermissionCheckService<T>{
* @param ids
* @param logger
*/
void
postHandle
(
AuthorizationType
authorizationType
,
Integer
userId
,
List
<
Integer
>
ids
,
Logger
logger
);
void
postHandle
(
Object
authorizationType
,
Integer
userId
,
List
<
Integer
>
ids
,
Logger
logger
);
}
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceImpl.java
浏览文件 @
c843e3a3
...
...
@@ -93,7 +93,7 @@ public class ResourcePermissionCheckServiceImpl implements ResourcePermissionChe
}
@Override
public
boolean
resourcePermissionCheck
(
AuthorizationType
authorizationType
,
Object
[]
needChecks
,
Integer
userId
,
Logger
logger
)
{
public
boolean
resourcePermissionCheck
(
Object
authorizationType
,
Object
[]
needChecks
,
Integer
userId
,
Logger
logger
)
{
if
(
Objects
.
nonNull
(
needChecks
)
&&
needChecks
.
length
>
0
)
{
Set
<?>
originResSet
=
new
HashSet
<>(
Arrays
.
asList
(
needChecks
));
Set
<?>
ownResSets
=
RESOURCE_LIST_MAP
.
get
(
authorizationType
).
listAuthorizedResource
(
userId
,
logger
);
...
...
@@ -104,7 +104,7 @@ public class ResourcePermissionCheckServiceImpl implements ResourcePermissionChe
}
@Override
public
boolean
operationPermissionCheck
(
AuthorizationType
authorizationType
,
Integer
userId
,
String
permissionKey
,
Logger
logger
)
{
public
boolean
operationPermissionCheck
(
Object
authorizationType
,
Integer
userId
,
String
permissionKey
,
Logger
logger
)
{
return
RESOURCE_LIST_MAP
.
get
(
authorizationType
).
permissionCheck
(
userId
,
permissionKey
,
logger
);
}
...
...
@@ -114,12 +114,12 @@ public class ResourcePermissionCheckServiceImpl implements ResourcePermissionChe
}
@Override
public
void
postHandle
(
AuthorizationType
authorizationType
,
Integer
userId
,
List
<
Integer
>
ids
,
Logger
logger
)
{
public
void
postHandle
(
Object
authorizationType
,
Integer
userId
,
List
<
Integer
>
ids
,
Logger
logger
)
{
logger
.
debug
(
"no post handle"
);
}
@Override
public
Set
<
Object
>
userOwnedResourceIdsAcquisition
(
AuthorizationType
authorizationType
,
Integer
userId
,
Logger
logger
)
{
public
Set
<
Object
>
userOwnedResourceIdsAcquisition
(
Object
authorizationType
,
Integer
userId
,
Logger
logger
)
{
User
user
=
processService
.
getUserById
(
userId
);
if
(
user
==
null
)
{
logger
.
error
(
"user id {} doesn't exist"
,
userId
);
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ResourcesServiceImpl.java
浏览文件 @
c843e3a3
...
...
@@ -379,11 +379,6 @@ public class ResourcesServiceImpl extends BaseServiceImpl implements ResourcesSe
return
result
;
}
if
(!
canOperator
(
loginUser
,
resource
.
getUserId
()))
{
putMsg
(
result
,
Status
.
USER_NO_OPERATION_PERM
);
return
result
;
}
if
(
file
==
null
&&
name
.
equals
(
resource
.
getAlias
())
&&
desc
.
equals
(
resource
.
getDescription
()))
{
putMsg
(
result
,
Status
.
SUCCESS
);
return
result
;
...
...
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
浏览文件 @
c843e3a3
...
...
@@ -197,7 +197,7 @@ public class UdfFuncServiceImpl extends BaseServiceImpl implements UdfFuncServic
int
resourceId
)
{
Result
<
Object
>
result
=
new
Result
<>();
boolean
canOperatorPermissions
=
canOperatorPermissions
(
loginUser
,
new
Object
[]{
resource
Id
},
AuthorizationType
.
UDF
,
ApiFuncIdentificationConstant
.
UDF_FUNCTION_UPDATE
);
boolean
canOperatorPermissions
=
canOperatorPermissions
(
loginUser
,
new
Object
[]{
udfFunc
Id
},
AuthorizationType
.
UDF
,
ApiFuncIdentificationConstant
.
UDF_FUNCTION_UPDATE
);
if
(!
canOperatorPermissions
){
putMsg
(
result
,
Status
.
NO_CURRENT_OPERATING_PERMISSION
);
return
result
;
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ResourcesServiceTest.java
浏览文件 @
c843e3a3
...
...
@@ -267,10 +267,10 @@ public class ResourcesServiceTest {
user
.
setId
(
2
);
user
.
setUserType
(
UserType
.
GENERAL_USER
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
operationPermissionCheck
(
AuthorizationType
.
RESOURCE_FILE_ID
,
2
,
ApiFuncIdentificationConstant
.
FILE_UPDATE
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
RESOURCE_FILE_ID
,
new
Object
[]{
1
},
2
,
serviceLogger
)).
thenReturn
(
tru
e
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
RESOURCE_FILE_ID
,
new
Object
[]{
1
},
2
,
serviceLogger
)).
thenReturn
(
fals
e
);
result
=
resourcesService
.
updateResource
(
user
,
1
,
"ResourcesServiceTest"
,
"ResourcesServiceTest"
,
ResourceType
.
FILE
,
null
);
logger
.
info
(
result
.
toString
());
Assert
.
assertEquals
(
Status
.
USER_NO_OPERATION_PERM
.
getMsg
(),
result
.
getMsg
());
Assert
.
assertEquals
(
Status
.
NO_CURRENT_OPERATING_PERMISSION
.
getMsg
(),
result
.
getMsg
());
//RESOURCE_NOT_EXIST
user
.
setId
(
1
);
...
...
dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UdfFuncServiceTest.java
浏览文件 @
c843e3a3
...
...
@@ -144,13 +144,14 @@ public class UdfFuncServiceTest {
//UDF_FUNCTION_NOT_EXIST
PowerMockito
.
when
(
resourcePermissionCheckService
.
operationPermissionCheck
(
AuthorizationType
.
UDF
,
1
,
ApiFuncIdentificationConstant
.
UDF_FUNCTION_UPDATE
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
UDF
,
new
Object
[]{
1
},
0
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
UDF
,
new
Object
[]{
1
2
},
0
,
serviceLogger
)).
thenReturn
(
true
);
Result
<
Object
>
result
=
udfFuncService
.
updateUdfFunc
(
getLoginUser
(),
12
,
"UdfFuncServiceTest"
,
"org.apache.dolphinscheduler.api.service.UdfFuncServiceTest"
,
"String"
,
"UdfFuncServiceTest"
,
"UdfFuncServiceTest"
,
UdfType
.
HIVE
,
1
);
logger
.
info
(
result
.
toString
());
Assert
.
assertTrue
(
Status
.
UDF_FUNCTION_NOT_EXIST
.
getCode
()
==
result
.
getCode
());
//HDFS_NOT_STARTUP
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
UDF
,
new
Object
[]{
1
},
0
,
serviceLogger
)).
thenReturn
(
true
);
result
=
udfFuncService
.
updateUdfFunc
(
getLoginUser
(),
1
,
"UdfFuncServiceTest"
,
"org.apache.dolphinscheduler.api.service.UdfFuncServiceTest"
,
"String"
,
"UdfFuncServiceTest"
,
"UdfFuncServiceTest"
,
UdfType
.
HIVE
,
1
);
logger
.
info
(
result
.
toString
());
...
...
@@ -158,7 +159,7 @@ public class UdfFuncServiceTest {
//RESOURCE_NOT_EXIST
PowerMockito
.
when
(
resourcePermissionCheckService
.
operationPermissionCheck
(
AuthorizationType
.
UDF
,
1
,
ApiFuncIdentificationConstant
.
UDF_FUNCTION_UPDATE
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
UDF
,
new
Object
[]{
1
2
},
0
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
resourcePermissionCheckService
.
resourcePermissionCheck
(
AuthorizationType
.
UDF
,
new
Object
[]{
1
1
},
0
,
serviceLogger
)).
thenReturn
(
true
);
PowerMockito
.
when
(
udfFuncMapper
.
selectUdfById
(
11
)).
thenReturn
(
getUdfFunc
());
PowerMockito
.
when
(
PropertyUtils
.
getResUploadStartupState
()).
thenReturn
(
true
);
result
=
udfFuncService
.
updateUdfFunc
(
getLoginUser
(),
11
,
"UdfFuncServiceTest"
,
"org.apache.dolphinscheduler.api.service.UdfFuncServiceTest"
,
"String"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录