Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yujianwangzivayy
MaxKey
提交
b1b021e6
MaxKey
项目概览
yujianwangzivayy
/
MaxKey
与 Fork 源项目一致
Fork自
MaxKey单点登录官方(MaxKeyTop) / MaxKey
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MaxKey
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b1b021e6
编写于
4月 27, 2022
作者:
M
MaxKey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dynamic Groups and Roles
上级
6523b2b1
变更
13
显示空白变更内容
内联
并排
Showing
13 changed file
with
68 addition
and
123 deletion
+68
-123
maxkey-core/src/main/java/org/maxkey/entity/GroupMember.java
maxkey-core/src/main/java/org/maxkey/entity/GroupMember.java
+8
-1
maxkey-core/src/main/java/org/maxkey/entity/RoleMember.java
maxkey-core/src/main/java/org/maxkey/entity/RoleMember.java
+10
-1
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/GroupMemberMapper.java
...java/org/maxkey/persistence/mapper/GroupMemberMapper.java
+0
-1
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/RoleMemberMapper.java
.../java/org/maxkey/persistence/mapper/RoleMemberMapper.java
+0
-1
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupMemberMapper.xml
...maxkey/persistence/mapper/xml/mysql/GroupMemberMapper.xml
+8
-45
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RoleMemberMapper.xml
.../maxkey/persistence/mapper/xml/mysql/RoleMemberMapper.xml
+6
-45
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/access/group-members/group-members.component.html
.../routes/access/group-members/group-members.component.html
+11
-3
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/access/groups/group-editer/group-editer.component.html
...es/access/groups/group-editer/group-editer.component.html
+4
-4
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/permissions/role-members/role-members.component.html
...utes/permissions/role-members/role-members.component.html
+11
-3
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/permissions/roles/role-editer/role-editer.component.html
.../permissions/roles/role-editer/role-editer.component.html
+4
-4
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java
...g/maxkey/web/access/contorller/GroupMemberController.java
+3
-7
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java
...va/org/maxkey/web/access/contorller/GroupsController.java
+1
-1
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java
...xkey/web/permissions/contorller/RoleMemberController.java
+2
-7
未找到文件。
maxkey-core/src/main/java/org/maxkey/entity/GroupMember.java
浏览文件 @
b1b021e6
...
...
@@ -48,6 +48,7 @@ public class GroupMember extends UserInfo implements Serializable{
@Column
private
String
groupId
;
private
String
groupName
;
private
String
dynamic
;
@Column
private
String
memberId
;
private
String
memberName
;
...
...
@@ -163,11 +164,17 @@ public class GroupMember extends UserInfo implements Serializable{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getDynamic
()
{
return
dynamic
;
}
public
void
setDynamic
(
String
dynamic
)
{
this
.
dynamic
=
dynamic
;
}
public
String
getInstId
()
{
return
instId
;
...
...
maxkey-core/src/main/java/org/maxkey/entity/RoleMember.java
浏览文件 @
b1b021e6
...
...
@@ -42,6 +42,7 @@ public class RoleMember extends UserInfo implements Serializable {
@Column
private
String
roleId
;
private
String
roleName
;
private
String
dynamic
;
@Column
private
String
memberId
;
private
String
memberName
;
...
...
@@ -80,6 +81,14 @@ public class RoleMember extends UserInfo implements Serializable {
this
.
roleName
=
roleName
;
}
public
String
getDynamic
()
{
return
dynamic
;
}
public
void
setDynamic
(
String
dynamic
)
{
this
.
dynamic
=
dynamic
;
}
public
String
getMemberId
()
{
return
memberId
;
}
...
...
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/GroupMemberMapper.java
浏览文件 @
b1b021e6
...
...
@@ -34,7 +34,6 @@ import org.maxkey.entity.UserInfo;
public
interface
GroupMemberMapper
extends
IJpaBaseMapper
<
GroupMember
>
{
public
List
<
GroupMember
>
allMemberInGroup
(
GroupMember
entity
);
public
List
<
GroupMember
>
memberInGroup
(
GroupMember
entity
);
public
List
<
GroupMember
>
memberNotInGroup
(
GroupMember
entity
);
public
List
<
GroupMember
>
groupMemberInGroup
(
GroupMember
entity
);
...
...
maxkey-persistence/src/main/java/org/maxkey/persistence/mapper/RoleMemberMapper.java
浏览文件 @
b1b021e6
...
...
@@ -33,7 +33,6 @@ import org.maxkey.entity.Roles;
public
interface
RoleMemberMapper
extends
IJpaBaseMapper
<
RoleMember
>
{
public
List
<
RoleMember
>
allMemberInRole
(
RoleMember
entity
);
public
List
<
RoleMember
>
memberInRole
(
RoleMember
entity
);
public
List
<
RoleMember
>
memberNotInRole
(
RoleMember
entity
);
public
List
<
RoleMember
>
roleMemberInRole
(
RoleMember
entity
);
...
...
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/GroupMemberMapper.xml
浏览文件 @
b1b021e6
...
...
@@ -11,51 +11,12 @@
</if>
</sql>
<!-- GROUP_MEMBER User Member-->
<select
id=
"allMemberInGroup"
parameterType=
"GroupMember"
resultType=
"GroupMember"
>
select distinct
u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname ,
u.nickname ,
u.namezhspell,
u.namezhshortspell,
u.givenname ,
u.middlename ,
u.familyname ,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
u.createddate,
u.status
from
mxk_userinfo u
where instid = #{instId}
</select>
<select
id=
"memberInGroup"
parameterType=
"GroupMember"
resultType=
"GroupMember"
>
select distinct
gm.id,
gm.id as id,
g.id as groupid,
g.name as groupname,
g.dynamic dynamic,
u.username,
u.usertype,
u.windowsaccount,
...
...
@@ -210,7 +171,7 @@
instid
)
select
concat('${id}',u.id) id,
concat('${id}
_
',u.id) id,
'${id}' groupid,
u.id memberid,
'USER-DYNAMIC' type,
...
...
@@ -250,6 +211,8 @@
<select
id=
"queryMemberByGroupId"
parameterType=
"string"
resultType=
"UserInfo"
>
select distinct
g.groupId,
g.groupName,
u.id,
u.username,
u.usertype,
...
...
@@ -296,7 +259,7 @@
<delete
id=
"deleteByGroupId"
parameterType=
"string"
>
delete from mxk_group_member gm
where gm.groupid
=#{value}
where gm.groupid
= #{value} and groupId != 'ROLE_ALL_USER'
</delete>
</mapper>
\ No newline at end of file
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/RoleMemberMapper.xml
浏览文件 @
b1b021e6
...
...
@@ -11,51 +11,12 @@
</if>
</sql>
<!-- ROLE_MEMBER User Member-->
<select
id=
"allMemberInRole"
parameterType=
"RoleMember"
resultType=
"RoleMember"
>
select distinct
u.id,
u.username,
u.usertype,
u.windowsaccount,
u.displayname ,
u.nickname ,
u.namezhspell,
u.namezhshortspell,
u.givenname ,
u.middlename ,
u.familyname ,
u.gender,
u.authntype,
u.mobile,
u.email,
u.workemail,
u.workphonenumber,
u.employeenumber,
u.division,
u.costcenter,
u.organization,
u.departmentid,
u.department,
u.jobtitle,
u.joblevel,
u.createddate,
u.status
from
mxk_userinfo u
where instid = #{instId}
</select>
<select
id=
"memberInRole"
parameterType=
"RoleMember"
resultType=
"RoleMember"
>
select distinct
rm.id,
r.id as roleid,
r.name as rolename,
r.dynamic dynamic,
rm.id as id,
u.username,
u.usertype,
u.windowsaccount,
...
...
@@ -211,7 +172,7 @@
type
)
select
concat('${id}',u.id) id,
concat('${id}
_
',u.id) id,
'${id}' ROLEID,
u.id memberid,
'USER-DYNAMIC' type
...
...
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/access/group-members/group-members.component.html
浏览文件 @
b1b021e6
...
...
@@ -76,6 +76,7 @@
<thead>
<tr>
<th
[nzChecked]=
"query.checked"
[nzIndeterminate]=
"query.indeterminate"
(nzCheckedChange)=
"onTableAllChecked($event)"
></th>
<th
nzAlign=
"center"
>
{{ 'mxk.groups.name' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.username' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.displayName' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.employeeNumber' | i18n }}
</th>
...
...
@@ -94,6 +95,7 @@
[nzDisabled]=
"data.disabled"
(nzCheckedChange)=
"onTableItemChecked(data.id, $event)"
></td>
<td
nzAlign=
"center"
>
{{ data.groupName }}
</td>
<td
nzAlign=
"center"
>
{{ data.username }}
</td>
<td
nzAlign=
"center"
>
{{ data.displayName }}
</td>
<td
nzAlign=
"center"
>
{{ data.employeeNumber }}
</td>
...
...
@@ -102,9 +104,15 @@
<td
nzAlign=
"center"
>
{{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}
</td>
<td
nzAlign=
"left"
nzBreakWord=
"false"
><div
nz-col
>
<button
nz-button
type=
"button"
(click)=
"onDelete($event, data.id)"
[nzType]=
"'primary'"
nzDanger
>
{{
'mxk.text.delete' | i18n
}}
</button></div
<button
*ngIf=
"data.dynamic == '0'"
nz-button
type=
"button"
(click)=
"onDelete($event, data.id)"
[nzType]=
"'primary'"
nzDanger
>
{{ 'mxk.text.delete' | i18n }}
</button
></div
></td
>
</tr>
...
...
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/access/groups/group-editer/group-editer.component.html
浏览文件 @
b1b021e6
...
...
@@ -27,7 +27,7 @@
<ng-template
#unCheckedTemplate
><i
nz-icon
nzType=
"close"
></i></ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"resumeTime"
>
{{ 'mxk.groups.resumeTime' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid port!"
>
<nz-time-picker
...
...
@@ -39,7 +39,7 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"suspendTime"
>
{{ 'mxk.groups.suspendTime' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid suspendTime!"
>
<nz-time-picker
...
...
@@ -51,13 +51,13 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"orgIdsList"
>
{{ 'mxk.groups.orgIdsList' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid upperCase!"
>
<input
[(ngModel)]=
"form.model.orgIdsList"
[ngModelOptions]=
"{ standalone: true }"
nz-input
name=
"orgIdsList"
id=
"orgIdsList"
/>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"filters"
>
{{ 'mxk.groups.filters' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid filters!"
>
<textarea
...
...
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/permissions/role-members/role-members.component.html
浏览文件 @
b1b021e6
...
...
@@ -76,6 +76,7 @@
<thead>
<tr>
<th
[nzChecked]=
"query.checked"
[nzIndeterminate]=
"query.indeterminate"
(nzCheckedChange)=
"onTableAllChecked($event)"
></th>
<th
nzAlign=
"center"
>
{{ 'mxk.roles.name' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.username' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.displayName' | i18n }}
</th>
<th
nzAlign=
"center"
>
{{ 'mxk.users.employeeNumber' | i18n }}
</th>
...
...
@@ -94,6 +95,7 @@
[nzDisabled]=
"data.disabled"
(nzCheckedChange)=
"onTableItemChecked(data.id, $event)"
></td>
<td
nzAlign=
"center"
>
{{ data.roleName }}
</td>
<td
nzAlign=
"center"
>
{{ data.username }}
</td>
<td
nzAlign=
"center"
>
{{ data.displayName }}
</td>
<td
nzAlign=
"center"
>
{{ data.employeeNumber }}
</td>
...
...
@@ -102,9 +104,15 @@
<td
nzAlign=
"center"
>
{{ data.gender == 1 ? ('mxk.users.gender.female' | i18n) : ('mxk.users.gender.male' | i18n) }}
</td>
<td
nzAlign=
"left"
nzBreakWord=
"false"
><div
nz-col
>
<button
nz-button
type=
"button"
(click)=
"onDelete($event, data.id)"
[nzType]=
"'primary'"
nzDanger
>
{{
'mxk.text.delete' | i18n
}}
</button></div
<button
*ngIf=
"data.dynamic == '0'"
nz-button
type=
"button"
(click)=
"onDelete($event, data.id)"
[nzType]=
"'primary'"
nzDanger
>
{{ 'mxk.text.delete' | i18n }}
</button
></div
></td
>
</tr>
...
...
maxkey-web-frontend/maxkey-web-mgt-app/src/app/routes/permissions/roles/role-editer/role-editer.component.html
浏览文件 @
b1b021e6
...
...
@@ -27,7 +27,7 @@
<ng-template
#unCheckedTemplate
><i
nz-icon
nzType=
"close"
></i></ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"resumeTime"
>
{{ 'mxk.roles.resumeTime' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid port!"
>
<nz-time-picker
...
...
@@ -39,7 +39,7 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"suspendTime"
>
{{ 'mxk.roles.suspendTime' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid suspendTime!"
>
<nz-time-picker
...
...
@@ -51,13 +51,13 @@
></nz-time-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"orgIdsList"
>
{{ 'mxk.roles.orgIdsList' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid upperCase!"
>
<input
[(ngModel)]=
"form.model.orgIdsList"
[ngModelOptions]=
"{ standalone: true }"
nz-input
name=
"orgIdsList"
id=
"orgIdsList"
/>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-item
*ngIf=
"form.model.switch_dynamic"
>
<nz-form-label
[nzSm]=
"6"
[nzXs]=
"24"
nzFor=
"filters"
>
{{ 'mxk.roles.filters' | i18n }}
</nz-form-label>
<nz-form-control
[nzSm]=
"18"
[nzXs]=
"24"
nzErrorTip=
"The input is not valid filters!"
>
<textarea
...
...
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupMemberController.java
浏览文件 @
b1b021e6
...
...
@@ -68,13 +68,9 @@ public class GroupMemberController {
public
ResponseEntity
<?>
memberInGroup
(
@ModelAttribute
GroupMember
groupMember
,
@CurrentUser
UserInfo
currentUser
)
{
_logger
.
debug
(
"groupMember : "
+
groupMember
);
groupMember
.
setInstId
(
currentUser
.
getInstId
());
if
(
groupMember
.
getGroupId
()==
null
||
groupMember
.
getGroupId
().
equals
(
""
)||
groupMember
.
getGroupId
().
equals
(
"ROLE_ALL_USER"
)){
return
new
Message
<
JpaPageResults
<
GroupMember
>>(
groupMemberService
.
queryPageResults
(
"allMemberInGroup"
,
groupMember
)).
buildResponse
();
}
else
{
return
new
Message
<
JpaPageResults
<
GroupMember
>>(
groupMemberService
.
queryPageResults
(
"memberInGroup"
,
groupMember
)).
buildResponse
();
}
}
...
...
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/access/contorller/GroupsController.java
浏览文件 @
b1b021e6
...
...
@@ -105,7 +105,7 @@ public class GroupsController {
@RequestMapping
(
value
={
"/delete"
},
produces
=
{
MediaType
.
APPLICATION_JSON_VALUE
})
public
ResponseEntity
<?>
delete
(
@RequestParam
(
"ids"
)
String
ids
,
@CurrentUser
UserInfo
currentUser
)
{
_logger
.
debug
(
"-delete ids : {}"
,
ids
);
ids
=
ids
.
replaceAll
(
"ROLE_ALL_USER"
,
"-1"
).
replaceAll
(
"ROLE_ADMINISTRATORS"
,
"-1"
);
if
(
groupsService
.
deleteBatch
(
ids
))
{
return
new
Message
<
Groups
>(
Message
.
SUCCESS
).
buildResponse
();
}
else
{
...
...
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/permissions/contorller/RoleMemberController.java
浏览文件 @
b1b021e6
...
...
@@ -67,14 +67,9 @@ public class RoleMemberController {
public
ResponseEntity
<?>
memberInRole
(
@ModelAttribute
RoleMember
roleMember
,
@CurrentUser
UserInfo
currentUser
)
{
_logger
.
debug
(
"roleMember : "
+
roleMember
);
roleMember
.
setInstId
(
currentUser
.
getInstId
());
if
(
roleMember
.
getRoleId
()==
null
||
roleMember
.
getRoleId
().
equals
(
""
)||
roleMember
.
getRoleId
().
equals
(
"ALL_USER_ROLE"
)){
return
new
Message
<
JpaPageResults
<
RoleMember
>>(
roleMemberService
.
queryPageResults
(
"allMemberInRole"
,
roleMember
)).
buildResponse
();
}
else
{
return
new
Message
<
JpaPageResults
<
RoleMember
>>(
roleMemberService
.
queryPageResults
(
"memberInRole"
,
roleMember
)).
buildResponse
();
}
}
@RequestMapping
(
value
=
{
"/memberNotInRole"
})
@ResponseBody
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录