Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
f0427d47
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 3 年多
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f0427d47
编写于
5月 09, 2020
作者:
S
shiziyuan9527
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
组织,工作空间管理员无法移除自身
上级
c1035e00
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
8 deletion
+15
-8
backend/src/main/java/io/metersphere/controller/UserController.java
...c/main/java/io/metersphere/controller/UserController.java
+13
-0
backend/src/main/java/io/metersphere/service/UserService.java
...end/src/main/java/io/metersphere/service/UserService.java
+0
-3
frontend/src/business/components/settings/workspace/WorkspaceMember.vue
...usiness/components/settings/workspace/WorkspaceMember.vue
+2
-5
未找到文件。
backend/src/main/java/io/metersphere/controller/UserController.java
浏览文件 @
f0427d47
...
@@ -4,6 +4,7 @@ import com.github.pagehelper.Page;
...
@@ -4,6 +4,7 @@ import com.github.pagehelper.Page;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
io.metersphere.base.domain.User
;
import
io.metersphere.base.domain.User
;
import
io.metersphere.commons.constants.RoleConstants
;
import
io.metersphere.commons.constants.RoleConstants
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.commons.utils.PageUtils
;
import
io.metersphere.commons.utils.PageUtils
;
import
io.metersphere.commons.utils.Pager
;
import
io.metersphere.commons.utils.Pager
;
import
io.metersphere.controller.request.UserRequest
;
import
io.metersphere.controller.request.UserRequest
;
...
@@ -17,6 +18,7 @@ import io.metersphere.service.UserService;
...
@@ -17,6 +18,7 @@ import io.metersphere.service.UserService;
import
io.metersphere.service.WorkspaceService
;
import
io.metersphere.service.WorkspaceService
;
import
io.metersphere.user.SessionUser
;
import
io.metersphere.user.SessionUser
;
import
io.metersphere.user.SessionUtils
;
import
io.metersphere.user.SessionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.apache.shiro.authz.annotation.RequiresRoles
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -120,6 +122,9 @@ public class UserController {
...
@@ -120,6 +122,9 @@ public class UserController {
@PostMapping
(
"/update/current"
)
@PostMapping
(
"/update/current"
)
public
UserDTO
updateCurrentUser
(
@RequestBody
User
user
)
{
public
UserDTO
updateCurrentUser
(
@RequestBody
User
user
)
{
UserDTO
userDTO
=
userService
.
getUserDTO
(
user
.
getId
());
BeanUtils
.
copyProperties
(
user
,
userDTO
);
SessionUtils
.
putUser
(
SessionUser
.
fromUser
(
userDTO
));
userService
.
updateUser
(
user
);
userService
.
updateUser
(
user
);
return
SessionUtils
.
getUser
();
return
SessionUtils
.
getUser
();
}
}
...
@@ -182,6 +187,10 @@ public class UserController {
...
@@ -182,6 +187,10 @@ public class UserController {
@RequiresRoles
(
value
=
{
RoleConstants
.
TEST_MANAGER
,
RoleConstants
.
ORG_ADMIN
},
logical
=
Logical
.
OR
)
@RequiresRoles
(
value
=
{
RoleConstants
.
TEST_MANAGER
,
RoleConstants
.
ORG_ADMIN
},
logical
=
Logical
.
OR
)
public
void
deleteMember
(
@PathVariable
String
workspaceId
,
@PathVariable
String
userId
)
{
public
void
deleteMember
(
@PathVariable
String
workspaceId
,
@PathVariable
String
userId
)
{
workspaceService
.
checkWorkspaceOwner
(
workspaceId
);
workspaceService
.
checkWorkspaceOwner
(
workspaceId
);
String
currentUserId
=
SessionUtils
.
getUser
().
getId
();
if
(
StringUtils
.
equals
(
userId
,
currentUserId
))
{
MSException
.
throwException
(
"Insufficient permissions!"
);
}
userService
.
deleteMember
(
workspaceId
,
userId
);
userService
.
deleteMember
(
workspaceId
,
userId
);
}
}
...
@@ -202,6 +211,10 @@ public class UserController {
...
@@ -202,6 +211,10 @@ public class UserController {
@RequiresRoles
(
RoleConstants
.
ORG_ADMIN
)
@RequiresRoles
(
RoleConstants
.
ORG_ADMIN
)
public
void
delOrganizationMember
(
@PathVariable
String
organizationId
,
@PathVariable
String
userId
)
{
public
void
delOrganizationMember
(
@PathVariable
String
organizationId
,
@PathVariable
String
userId
)
{
organizationService
.
checkOrgOwner
(
organizationId
);
organizationService
.
checkOrgOwner
(
organizationId
);
String
currentUserId
=
SessionUtils
.
getUser
().
getId
();
if
(
StringUtils
.
equals
(
userId
,
currentUserId
))
{
MSException
.
throwException
(
"Insufficient permissions!"
);
}
userService
.
delOrganizationMember
(
organizationId
,
userId
);
userService
.
delOrganizationMember
(
organizationId
,
userId
);
}
}
...
...
backend/src/main/java/io/metersphere/service/UserService.java
浏览文件 @
f0427d47
...
@@ -124,11 +124,8 @@ public class UserService {
...
@@ -124,11 +124,8 @@ public class UserService {
}
}
public
void
updateUser
(
User
user
)
{
public
void
updateUser
(
User
user
)
{
UserDTO
userDTO
=
getUserDTO
(
user
.
getId
());
BeanUtils
.
copyProperties
(
user
,
userDTO
);
// MD5
// MD5
user
.
setPassword
(
CodingUtil
.
md5
(
user
.
getPassword
()));
user
.
setPassword
(
CodingUtil
.
md5
(
user
.
getPassword
()));
SessionUtils
.
putUser
(
SessionUser
.
fromUser
(
userDTO
));
user
.
setUpdateTime
(
System
.
currentTimeMillis
());
user
.
setUpdateTime
(
System
.
currentTimeMillis
());
userMapper
.
updateByPrimaryKeySelective
(
user
);
userMapper
.
updateByPrimaryKeySelective
(
user
);
}
}
...
...
frontend/src/business/components/settings/workspace/WorkspaceMember.vue
浏览文件 @
f0427d47
...
@@ -175,14 +175,11 @@
...
@@ -175,14 +175,11 @@
cancelButtonText
:
this
.
$t
(
'
commons.cancel
'
),
cancelButtonText
:
this
.
$t
(
'
commons.cancel
'
),
type
:
'
warning
'
type
:
'
warning
'
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
loading
=
true
;
this
.
result
=
this
.
$get
(
'
/user/ws/member/delete/
'
+
this
.
currentUser
().
lastWorkspaceId
+
'
/
'
+
row
.
id
,()
=>
{
this
.
$get
(
'
/user/ws/member/delete/
'
+
this
.
currentUser
().
lastWorkspaceId
+
'
/
'
+
row
.
id
).
then
(()
=>
{
this
.
$success
(
this
.
$t
(
'
commons.delete_success
'
));
this
.
initTableData
();
this
.
initTableData
();
this
.
loading
=
false
;
});
});
this
.
$success
(
this
.
$t
(
'
commons.delete_success
'
));
}).
catch
(()
=>
{
}).
catch
(()
=>
{
this
.
loading
=
false
;
this
.
$info
(
this
.
$t
(
'
commons.delete_cancel
'
));
this
.
$info
(
this
.
$t
(
'
commons.delete_cancel
'
));
});
});
},
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录