tag


权限控制sql
获取当前用户菜单,在sql中就将多个角色重复菜单问题解决:
select t.resourcekey from v_sys_resource t where t.userid = :userid

create or replace view v_sys_resource as
select rs.name resourcename, rs.resourcekey, u.user_id userid from zwww_auth.T_USER@auth u, zwww_auth.T_ROLE_USER@auth ru, zwww_auth.t_role_res@auth rr, zwww_auth.t_resource@auth rs where u.user_id = ru.user_id and ru.role_id = rr.role_id and rr.resource_id = rs.resource_id;

//属性接受前台的数据,tag获取后台数据比较
///zwww/web/WEB-INF/tags/sui/system/auth.tag
<%@ tag import="com.ces.zwww.utils.IOUtil"%>
<%@ tag import="com.ces.xarch.core.security.entity.SysUser"%>
<%@ tag import="org.springframework.security.core.context.SecurityContext"%>
<%
/**
* 描述:权限标签
* 作用:
* 作者:chanlong(陈龙)
* 时间:2014-11-13 09:32
* 版本:1.0.2014.11.13
* 备注:
*/
%>
<%@ include file="/WEB-INF/tags/sui/common/include.jsp" %>
<%@ tag language="java" pageEncoding="UTF-8" body-content="scriptless"%>

<%@ attribute name="resKey" type="java.lang.String" description="资源key"%>

<%
SecurityContext obj = (SecurityContext)session.getAttribute("SPRING_SECURITY_CONTEXT");
String id = ((SysUser)obj.getAuthentication().getPrincipal()).getId();
String result = IOUtil.ajaxContent(jspContext.getAttribute("basePath")+"/resource!getResourceKeyByUser.json?userid="+id);
System.out.println(jspContext.getAttribute("basePath"));
System.out.println(result.contains(resKey));
System.out.println(result);
%>

<c:if test="<%=result.contains(resKey)%>">
<jsp:doBody/>
</c:if>


/zwww/web/WEB-INF/tags/sui/common/include.jsp
include.jsp

<%-- 引入公用标签 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

<%-- 定义常用页面变量 --%>
<c:set var="request"     scope="page" value="${pageContext.request}" />
<c:set var="schemeName"  scope="page" value="${request.scheme}"      />
<c:set var="serverName"  scope="page" value="${request.serverName}"  />
<c:set var="serverPort"  scope="page" value="${request.serverPort}"  />
<c:set var="contextPath" scope="page" value="${request.contextPath}" />
<c:set var="basePath"    scope="page" value="${schemeName}://${serverName}:${serverPort}${contextPath}" />
<c:set var="iconPath"    scope="page" value="${basePath}/resources/styles/ui/icons/imgs" />



commom.jsp
//各个公用的页面都加载的
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib tagdir="/WEB-INF/tags/sui/utility" prefix="utility" %>
<%@ taglib tagdir="/WEB-INF/tags/sui/layout" prefix="layout" %>
<%@ taglib tagdir="/WEB-INF/tags/sui/system" prefix="system" %>
<%@ taglib tagdir="/WEB-INF/tags/cui" prefix="cui" %>

<%-- 定义常用页面变量 --%>
<c:set var="request"    scope="page" value="${pageContext.request}" />
<c:set var="scheme"  scope="page" value="${request.scheme}"      />
<c:set var="server"  scope="page" value="${request.serverName}"  />
<c:set var="port"  scope="page" value="${request.serverPort}"  />
<c:set var="ctx" scope="page" value="${request.contextPath}" />
<c:set var="basePath"   scope="page" value="${scheme}://${server}:${port}${ctx}" />
<c:set var="iconPath"   scope="page" value="${basePath}/resources/styles/ui/icons/imgs" />
<c:set var="headline"   scope="page" value="上海市政务外网管理中心 电子政务综合管理平台" />
<c:set var="version"    scope="page" value="当前版本:V1.0.0" />
<c:set var="copyright" scope="page" value="版权所有  &copy; 上海市政务外网管理中心" />

//应用页面

<!-- 左侧导航栏 -->
<uitag-core:sidebar collapse="false">
<uitag-core-sidebar:navitems>
<uitag-core-sidebar:navitem icon="fa-desktop" dropdown="true" title="工单分类" current="open" root="true">
<system:auth resKey="zwww.gdgl.sjgd">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="事件工单" url="sjgd/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree1" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.gdgl.gzgd">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="故障工单" url="gzgd/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree2" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
<system:auth resKey="zwww.gdgl.gjgd">
<uitag-core-sidebar:navitem icon="fa-caret-right" dropdown="true" tree="true" title="割接工单" url="gjgd/list.jsp" onclick="onSidebarClick(this)">
<cui:tree id="tree3" data="treedata" onClick="onTreeNodeClick"></cui:tree>
</uitag-core-sidebar:navitem>
</system:auth>
</uitag-core-sidebar:navitem>
</uitag-core-sidebar:navitems>
</uitag-core:sidebar>

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2171183
tag