Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fenghuo12
zheng
提交
b2f33ad7
Z
zheng
项目概览
fenghuo12
/
zheng
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zheng
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b2f33ad7
编写于
2月 26, 2017
作者:
shuzheng5201314
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成角色授权
上级
baf802e5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
232 addition
and
5 deletion
+232
-5
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/manage/UpmsPermissionController.java
...ms/server/controller/manage/UpmsPermissionController.java
+58
-4
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/manage/UpmsRoleController.java
...eng/upms/server/controller/manage/UpmsRoleController.java
+37
-0
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/role/index.jsp
...-server/src/main/webapp/WEB-INF/jsp/manage/role/index.jsp
+5
-1
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/role/permission.jsp
...er/src/main/webapp/WEB-INF/jsp/manage/role/permission.jsp
+132
-0
未找到文件。
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/manage/UpmsPermissionController.java
浏览文件 @
b2f33ad7
...
...
@@ -7,10 +7,8 @@ import com.zheng.common.base.BaseController;
import
com.zheng.common.validator.LengthValidator
;
import
com.zheng.upms.common.constant.UpmsResult
;
import
com.zheng.upms.common.constant.UpmsResultConstant
;
import
com.zheng.upms.dao.model.UpmsPermission
;
import
com.zheng.upms.dao.model.UpmsPermissionExample
;
import
com.zheng.upms.dao.model.UpmsSystem
;
import
com.zheng.upms.dao.model.UpmsSystemExample
;
import
com.zheng.upms.dao.model.*
;
import
com.zheng.upms.rpc.api.UpmsApiService
;
import
com.zheng.upms.rpc.api.UpmsPermissionService
;
import
com.zheng.upms.rpc.api.UpmsSystemService
;
import
io.swagger.annotations.Api
;
...
...
@@ -45,6 +43,9 @@ public class UpmsPermissionController extends BaseController {
@Autowired
private
UpmsSystemService
upmsSystemService
;
@Autowired
private
UpmsApiService
upmsApiService
;
@ApiOperation
(
value
=
"权限首页"
)
@RequiresPermissions
(
"upms:permission:read"
)
@RequestMapping
(
value
=
"/index"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -84,6 +85,59 @@ public class UpmsPermissionController extends BaseController {
return
result
;
}
@ApiOperation
(
value
=
"角色权限列表"
)
@RequiresPermissions
(
"upms:permission:read"
)
@RequestMapping
(
value
=
"/role/{id}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
role
(
@PathVariable
(
"id"
)
int
id
)
{
// 所有正常系统
UpmsSystemExample
upmsSystemExample
=
new
UpmsSystemExample
();
upmsSystemExample
.
createCriteria
()
.
andStatusEqualTo
((
byte
)
1
);
List
<
UpmsSystem
>
systems
=
upmsSystemService
.
selectByExample
(
upmsSystemExample
);
// 所有正常权限
UpmsPermissionExample
upmsPermissionExample
=
new
UpmsPermissionExample
();
upmsPermissionExample
.
createCriteria
()
.
andStatusEqualTo
((
byte
)
1
);
List
<
UpmsPermission
>
permissions
=
upmsPermissionService
.
selectByExample
(
upmsPermissionExample
);
// 角色已有权限
List
<
UpmsRolePermission
>
rolePermissions
=
upmsApiService
.
selectUpmsRolePermisstionByUpmsRoleId
(
id
);
// 返回结果集
Map
result
=
new
HashMap
();
result
.
put
(
"systems"
,
systems
);
result
.
put
(
"permissions"
,
permissions
);
result
.
put
(
"rolePermissions"
,
rolePermissions
);
return
result
;
}
@ApiOperation
(
value
=
"用户权限列表"
)
@RequiresPermissions
(
"upms:permission:read"
)
@RequestMapping
(
value
=
"/user/{id}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
user
(
@PathVariable
(
"id"
)
int
id
)
{
// 所有正常系统
UpmsSystemExample
upmsSystemExample
=
new
UpmsSystemExample
();
upmsSystemExample
.
createCriteria
()
.
andStatusEqualTo
((
byte
)
1
);
List
<
UpmsSystem
>
systems
=
upmsSystemService
.
selectByExample
(
upmsSystemExample
);
// 所有正常权限
UpmsPermissionExample
upmsPermissionExample
=
new
UpmsPermissionExample
();
upmsPermissionExample
.
createCriteria
()
.
andStatusEqualTo
((
byte
)
1
);
List
<
UpmsPermission
>
permissions
=
upmsPermissionService
.
selectByExample
(
upmsPermissionExample
);
// 用户已有权限
List
<
UpmsUserPermission
>
rolePermissions
=
upmsApiService
.
selectUpmsUserPermissionByUpmsUserId
(
id
);
// 用户已有角色
List
<
UpmsRole
>
roles
=
upmsApiService
.
selectUpmsRoleByUpmsUserId
(
id
);
// 返回结果集
Map
result
=
new
HashMap
();
result
.
put
(
"systems"
,
systems
);
result
.
put
(
"permissions"
,
permissions
);
result
.
put
(
"rolePermissions"
,
rolePermissions
);
result
.
put
(
"roles"
,
roles
);
return
result
;
}
@ApiOperation
(
value
=
"新增权限"
)
@RequiresPermissions
(
"upms:permission:create"
)
@RequestMapping
(
value
=
"/create"
,
method
=
RequestMethod
.
GET
)
...
...
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/server/controller/manage/UpmsRoleController.java
浏览文件 @
b2f33ad7
package
com.zheng.upms.server.controller.manage
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baidu.unbiz.fluentvalidator.ComplexResult
;
import
com.baidu.unbiz.fluentvalidator.FluentValidator
;
import
com.baidu.unbiz.fluentvalidator.ResultCollectors
;
...
...
@@ -9,6 +11,9 @@ import com.zheng.upms.common.constant.UpmsResult;
import
com.zheng.upms.common.constant.UpmsResultConstant
;
import
com.zheng.upms.dao.model.UpmsRole
;
import
com.zheng.upms.dao.model.UpmsRoleExample
;
import
com.zheng.upms.dao.model.UpmsRolePermission
;
import
com.zheng.upms.dao.model.UpmsRolePermissionExample
;
import
com.zheng.upms.rpc.api.UpmsRolePermissionService
;
import
com.zheng.upms.rpc.api.UpmsRoleService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -21,6 +26,8 @@ import org.springframework.stereotype.Controller;
import
org.springframework.ui.ModelMap
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -39,6 +46,9 @@ public class UpmsRoleController extends BaseController {
@Autowired
private
UpmsRoleService
upmsRoleService
;
@Autowired
private
UpmsRolePermissionService
upmsRolePermissionService
;
@ApiOperation
(
value
=
"角色首页"
)
@RequiresPermissions
(
"upms:role:read"
)
@RequestMapping
(
value
=
"/index"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -55,6 +65,33 @@ public class UpmsRoleController extends BaseController {
return
"/manage/role/permission"
;
}
@ApiOperation
(
value
=
"角色授权"
)
@RequiresPermissions
(
"upms:role:permission"
)
@RequestMapping
(
value
=
"/permission/{id}"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Object
permission
(
@PathVariable
(
"id"
)
int
id
,
HttpServletRequest
request
)
{
JSONArray
datas
=
JSONArray
.
parseArray
(
request
.
getParameter
(
"datas"
));
List
<
Integer
>
deleteIds
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
datas
.
size
();
i
++)
{
JSONObject
json
=
datas
.
getJSONObject
(
i
);
if
(!
json
.
getBoolean
(
"checked"
))
{
deleteIds
.
add
(
json
.
getIntValue
(
"id"
));
}
else
{
// 加权限
UpmsRolePermission
upmsRolePermission
=
new
UpmsRolePermission
();
upmsRolePermission
.
setRoleId
(
id
);
upmsRolePermission
.
setPermissionId
(
json
.
getIntValue
(
"id"
));
upmsRolePermissionService
.
insertSelective
(
upmsRolePermission
);
}
}
// 减权限
UpmsRolePermissionExample
upmsRolePermissionExample
=
new
UpmsRolePermissionExample
();
upmsRolePermissionExample
.
createCriteria
()
.
andPermissionIdIn
(
deleteIds
);
upmsRolePermissionService
.
deleteByExample
(
upmsRolePermissionExample
);
return
new
UpmsResult
(
UpmsResultConstant
.
SUCCESS
,
datas
.
size
());
}
@ApiOperation
(
value
=
"角色列表"
)
@RequiresPermissions
(
"upms:role:read"
)
@RequestMapping
(
value
=
"/list"
,
method
=
RequestMethod
.
GET
)
...
...
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/role/index.jsp
浏览文件 @
b2f33ad7
...
...
@@ -209,6 +209,7 @@ function deleteAction() {
}
// 授权
var
permissionDialog
;
var
roleId
;
function
permissionAction
()
{
var
rows
=
$table
.
bootstrapTable
(
'
getSelections
'
);
if
(
rows
.
length
!=
1
)
{
...
...
@@ -225,16 +226,19 @@ function permissionAction() {
}
});
}
else
{
roleId
=
rows
[
0
].
roleId
;
permissionDialog
=
$
.
dialog
({
animationSpeed
:
300
,
title
:
'
角色授权
'
,
content
:
'
url:${basePath}/manage/role/permission/
'
+
ro
ws
[
0
].
ro
leId
,
content
:
'
url:${basePath}/manage/role/permission/
'
+
roleId
,
onContentReady
:
function
()
{
initMaterialInput
();
initTree
();
}
});
}
}
</script>
</body>
</html>
\ No newline at end of file
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/role/permission.jsp
0 → 100644
浏览文件 @
b2f33ad7
<%@ page
contentType=
"text/html; charset=utf-8"
%>
<%@ taglib
uri=
"http://java.sun.com/jstl/core_rt"
prefix=
"c"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/fmt"
prefix=
"fmt"
%>
<%@ taglib
uri=
"http://java.sun.com/jsp/jstl/functions"
prefix=
"fn"
%>
<%@ taglib
uri=
"http://www.springframework.org/tags"
prefix=
"spring"
%>
<%@ taglib
uri=
"http://www.springframework.org/tags/form"
prefix=
"form"
%>
<%@taglib
prefix=
"shiro"
uri=
"http://shiro.apache.org/tags"
%>
<c:set
var=
"basePath"
value=
"
${
pageContext
.
request
.
contextPath
}
"
/>
<div
id=
"permissionDialog"
class=
"crudDialog"
>
<form
id=
"permissionForm"
method=
"post"
>
<div
class=
"form-group"
>
<ul
id=
"ztree"
class=
"ztree"
></ul>
</div>
<div
class=
"form-group text-right dialog-buttons"
>
<a
class=
"waves-effect waves-button"
href=
"javascript:;"
onclick=
"permissionSubmit();"
>
保存
</a>
<a
class=
"waves-effect waves-button"
href=
"javascript:;"
onclick=
"permissionDialog.close();"
>
取消
</a>
</div>
</form>
</div>
<script>
var
changeDatas
=
[];
var
setting
=
{
check
:
{
enable
:
true
,
// 勾选关联父,取消关联子
chkboxType
:
{
"
Y
"
:
"
p
"
,
"
N
"
:
"
s
"
}
},
async
:
{
enable
:
true
,
url
:
'
${basePath}/manage/permission/role/
'
+
roleId
,
dataFilter
:
function
(
treeId
,
parentNode
,
datas
)
{
var
nodes
=
[];
for
(
var
i
=
0
;
i
<
datas
.
permissions
.
length
;
i
++
)
{
var
node
=
{};
node
.
id
=
datas
.
permissions
[
i
].
permissionId
;
node
.
pId
=
datas
.
permissions
[
i
].
pid
;
node
.
name
=
datas
.
permissions
[
i
].
name
;
node
.
open
=
true
;
// 是否已拥有
for
(
var
j
=
0
;
j
<
datas
.
rolePermissions
.
length
;
j
++
)
{
if
(
datas
.
permissions
[
i
].
permissionId
==
datas
.
rolePermissions
[
j
].
permissionId
)
{
node
.
checked
=
true
;
}
}
nodes
.
push
(
node
)
}
return
nodes
;
}
},
data
:
{
simpleData
:
{
enable
:
true
}
},
callback
:
{
onCheck
:
function
()
{
var
zTree
=
$
.
fn
.
zTree
.
getZTreeObj
(
"
ztree
"
)
var
changeNodes
=
zTree
.
getChangeCheckedNodes
();
for
(
var
i
=
0
;
i
<
changeNodes
.
length
;
i
++
)
{
var
changeData
=
{};
changeData
.
id
=
changeNodes
[
i
].
id
;
changeData
.
checked
=
changeNodes
[
i
].
checked
;
changeDatas
.
push
(
changeData
);
}
}
}
};
function
initTree
()
{
$
.
fn
.
zTree
.
init
(
$
(
'
#ztree
'
),
setting
);
}
function
permissionSubmit
()
{
$
.
ajax
({
type
:
'
post
'
,
url
:
'
${basePath}/manage/role/permission/
'
+
roleId
,
data
:
{
datas
:
JSON
.
stringify
(
changeDatas
),
roleId
:
roleId
},
success
:
function
(
result
)
{
if
(
result
.
code
!=
1
)
{
if
(
result
.
data
instanceof
Array
)
{
$
.
each
(
result
.
data
,
function
(
index
,
value
)
{
$
.
confirm
({
theme
:
'
dark
'
,
animation
:
'
rotateX
'
,
closeAnimation
:
'
rotateX
'
,
title
:
false
,
content
:
value
.
errorMsg
,
buttons
:
{
confirm
:
{
text
:
'
确认
'
,
btnClass
:
'
waves-effect waves-button waves-light
'
}
}
});
});
}
else
{
$
.
confirm
({
theme
:
'
dark
'
,
animation
:
'
rotateX
'
,
closeAnimation
:
'
rotateX
'
,
title
:
false
,
content
:
result
.
data
.
errorMsg
,
buttons
:
{
confirm
:
{
text
:
'
确认
'
,
btnClass
:
'
waves-effect waves-button waves-light
'
}
}
});
}
}
else
{
permissionDialog
.
close
();
$table
.
bootstrapTable
(
'
refresh
'
);
}
},
error
:
function
(
XMLHttpRequest
,
textStatus
,
errorThrown
)
{
$
.
confirm
({
theme
:
'
dark
'
,
animation
:
'
rotateX
'
,
closeAnimation
:
'
rotateX
'
,
title
:
false
,
content
:
textStatus
,
buttons
:
{
confirm
:
{
text
:
'
确认
'
,
btnClass
:
'
waves-effect waves-button waves-light
'
}
}
});
}
});
}
</script>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录