Przeglądaj źródła

upms后台增加动态菜单,并增加权限判断

shuzheng 9 lat temu
rodzic
commit
fd781ba0f8

+ 16 - 1
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/admin/controller/ManageController.java

@@ -1,10 +1,17 @@
 package com.zheng.upms.admin.controller;
 
+import com.zheng.upms.dao.model.UpmsSystem;
+import com.zheng.upms.dao.model.UpmsSystemExample;
+import com.zheng.upms.rpc.api.UpmsSystemService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import java.util.List;
+
 /**
  * 后台controller
  * Created by ZhangShuzheng on 2017/01/19.
@@ -15,8 +22,16 @@ public class ManageController {
 
 	private static Logger _log = LoggerFactory.getLogger(ManageController.class);
 
+	@Autowired
+	private UpmsSystemService upmsSystemService;
+
 	@RequestMapping(value = {"", "/index"})
-	public String index() {
+	public String index(ModelMap modelMap) {
+		UpmsSystemExample upmsSystemExample = new UpmsSystemExample();
+		upmsSystemExample.createCriteria()
+				.andStatusEqualTo((byte) 1);
+		List<UpmsSystem> upmsSystems = upmsSystemService.selectByExample(upmsSystemExample);
+		modelMap.put("upmsSystems", upmsSystems);
 		return "/manage/index";
 	}
 

+ 26 - 23
zheng-upms/zheng-upms-server/src/main/webapp/WEB-INF/jsp/manage/index.jsp

@@ -4,6 +4,7 @@
 <%@ 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}"/>
 <!DOCTYPE HTML>
 <html lang="zh-cn">
@@ -62,18 +63,11 @@
 							请选择系统切换
 						</li>
 						<li class="divider hidden-xs"></li>
-						<li class="hidden-xs">
-							<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> CMS系统</a>
-						</li>
-						<li>
-							<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> OA系统</a>
-						</li>
-						<li>
-							<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> CRM系统</a>
-						</li>
+						<c:forEach var="upmsSystem" items="${upmsSystems}">
 						<li>
-							<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> QA系统</a>
+							<a class="waves-effect" href="javascript:;"><i class="${upmsSystem.icon}"></i> ${upmsSystem.name}</a>
 						</li>
+						</c:forEach>
 					</ul>
 				</li>
 				<li class="dropdown">
@@ -137,42 +131,51 @@
 			<li>
 				<a class="waves-effect" href="javascript:Tab.addTab('首页', 'home');"><i class="zmdi zmdi-home"></i> 首页</a>
 			</li>
+			<shiro:hasPermission name="upms:system,upms:organization">
 			<li class="sub-menu">
 				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 系统组织管理</a>
 				<ul>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('系统注册', '${basePath}/system/index');">系统注册</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('组织管理', '2.html');">组织管理</a></li>
+					<shiro:hasPermission name="upms:system:read"><li><a class="waves-effect" href="javascript:Tab.addTab('系统管理', '${basePath}/system/index');">系统管理</a></li></shiro:hasPermission>
+					<shiro:hasPermission name="upms:organization:read"><li><a class="waves-effect" href="javascript:Tab.addTab('组织管理', '${basePath}/organization/index');">组织管理</a></li></shiro:hasPermission>
 				</ul>
 			</li>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="upms:user,upms:role">
 			<li class="sub-menu">
 				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 用户角色管理</a>
 				<ul>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('用户管理', '3.html');">用户管理</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('角色管理', '4.html');">角色管理</a></li>
+					<shiro:hasPermission name="upms:user:read"><li><a class="waves-effect" href="javascript:Tab.addTab('用户管理', '${basePath}/user/index');">用户管理</a></li></shiro:hasPermission>
+					<shiro:hasPermission name="upms:role:read"><li><a class="waves-effect" href="javascript:Tab.addTab('角色管理', '${basePath}/role/index');">角色管理</a></li></shiro:hasPermission>
 				</ul>
 			</li>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="upms:permission">
 			<li class="sub-menu">
-				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 资源权限管理</a>
+				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 权限资源管理</a>
 				<ul>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('资源管理', '5.html');">资源管理</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('权限管理', '6.html');">权限管理</a></li>
+					<shiro:hasPermission name="upms:role:read"><li><a class="waves-effect" href="javascript:Tab.addTab('权限管理', '${basePath}/permission/index');">权限管理</a></li></shiro:hasPermission>
 				</ul>
 			</li>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="upms:role_permission,upms:user_permission">
 			<li class="sub-menu">
 				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 权限分配管理</a>
 				<ul>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('角色权限', '7.html');">角色权限</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('用户权限', '8.html');">用户权限</a></li>
+					<shiro:hasPermission name="upms:role_permission:read"><li><a class="waves-effect" href="javascript:Tab.addTab('角色权限', '${basePath}/role_permission/index');">角色权限</a></li></shiro:hasPermission>
+					<shiro:hasPermission name="upms:user_permission:read"><li><a class="waves-effect" href="javascript:Tab.addTab('用户权限', '${basePath}/user_permission/index');">用户权限</a></li></shiro:hasPermission>
 				</ul>
 			</li>
+			</shiro:hasPermission>
+			<shiro:hasPermission name="upms:coder,upms:session,upms:log">
 			<li class="sub-menu">
-				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> DEMO</a>
+				<a class="waves-effect" href="javascript:;"><i class="zmdi zmdi-widgets"></i> 系统数据管理</a>
 				<ul>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('获取资源(DEMO)', '9.html');">获取资源(DEMO)</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('获取权限(DEMO)', '10.html');">获取权限(DEMO)</a></li>
-					<li><a class="waves-effect" href="javascript:Tab.addTab('单点登录(DEMO)', '11.html');">单点登录(DEMO)</a></li>
+					<shiro:hasPermission name="upms:coder:read"><li><a class="waves-effect" href="javascript:Tab.addTab('公共码表', '${basePath}/coder/index');">公共码表</a></li></shiro:hasPermission>
+					<shiro:hasPermission name="upms:session:read"><li><a class="waves-effect" href="javascript:Tab.addTab('会话管理', '${basePath}/session/index');">会话管理</a></li></shiro:hasPermission>
+					<shiro:hasPermission name="upms:log:read"><li><a class="waves-effect" href="javascript:Tab.addTab('日志记录', '${basePath}/log/index');">日志记录</a></li></shiro:hasPermission>
 				</ul>
 			</li>
+			</shiro:hasPermission>
 			<li>
 				<div class="upms-version">&copy; ZHENG-UPMS V1.0.0</div>
 			</li>