| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 | <%@page import="com.jsjty.sso.util.DesPasswordEncoder"%><%@page import="net.sf.json.JSONArray"%><%@page import="com.jsjty.user.mapper.UserMapper"%><%@page import="com.jsjty.common.Constants"%><%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><%@ page import="java.util.ArrayList"%><%@ page import="java.util.Arrays"%><%@ page import="com.jsjty.sso.common.SystemConfig"%><%@ page import="org.jasig.cas.ticket.registry.DefaultTicketRegistry"%><%@ page import="org.springframework.context.ApplicationContext"%><%@ page	import="org.springframework.web.context.support.WebApplicationContextUtils"%><%@ page import="org.jasig.cas.ticket.registry.TicketRegistry"%><%@ page import="org.jasig.cas.ticket.TicketGrantingTicket"%><%@ page import="java.util.List"%><%@ page import="org.jasig.cas.authentication.Authentication"%><%@ page import="org.jasig.cas.authentication.principal.Principal"%><%@ page import="com.jsjty.sp.dao._SpDao"%><%@ page import="com.jsjty.sp.entity.SpEntity"%><%@ page import="com.jsjty.menu.entity.MenuEntity"%><%@ page import="com.jsjty.user.entity.UserEntity"%><%@ page import="org.springframework.webflow.execution.RequestContext"%><%@ page import="com.jsjty.menu.dao.MenuDao"%><c:set var="basePath" value="${pageContext.request.contextPath}" /><%	String tgtid="";	 //管理用户按钮权限	String isUserManageAppear = "0";	//cookie里获取到TGT	Cookie cookie = org.springframework.web.util.WebUtils.getCookie(request, "CASTGC");	if(cookie != null)		tgtid=cookie.getValue();	//上下文中拿到TGT,优先级高于cookie,因为cookie可能失效,        if(request.getAttribute("ticketGrantingTicketId")!=null&&request.getAttribute("ticketGrantingTicketId").toString()!=""){    	tgtid=request.getAttribute("ticketGrantingTicketId").toString();    }		DefaultTicketRegistry registry=(DefaultTicketRegistry) WebApplicationContextUtils.getWebApplicationContext(request.getServletContext()).getBean("ticketRegistry");		//通过获取tgt对象		TicketGrantingTicket ticketGrantingTicket = (TicketGrantingTicket) registry.getTicket(tgtid, TicketGrantingTicket.class);				 //根据tgtid获取tgt对象		if(ticketGrantingTicket!=null){	final List<Authentication> chainedAuthenticationsList = ticketGrantingTicket.getChainedAuthentications();	        final Authentication authentication = chainedAuthenticationsList.get(chainedAuthenticationsList.size() - 1);	        final Principal principal = authentication.getPrincipal();		        /* uname=principal.getAttributes().get("username"); */	        //获取用户访问权限	_SpDao spDao = (_SpDao) WebApplicationContextUtils.getWebApplicationContext(request.getServletContext()).getBean("_spDao");	List<MenuEntity> list = new ArrayList<MenuEntity>();	list = spDao.queryList(principal.getId());	session.setAttribute("username", principal.getId());	if(session.getAttribute(Constants.USER_KEY)==null){		UserMapper userMapper=WebApplicationContextUtils.getWebApplicationContext(request.getServletContext()).getBean(UserMapper.class);		session.setAttribute(Constants.USER_KEY,userMapper.findByUname(principal.getId()));	}		if(session.getAttribute("sso_menuList")==null){		//获取用户可访问菜单 		MenuDao menuService = (MenuDao) WebApplicationContextUtils.getWebApplicationContext(request.getServletContext()).getBean("menuDao");		List<MenuEntity> sso_menuList = menuService.queryMenusByUser(principal.getId());		session.setAttribute("sso_menuList", sso_menuList);	}	/* 	//外部url特殊处理	String CREDENTIAL_ID =  SystemConfig.readValue("CREDENTIAL_ID");//"xxxxx"; 			String external_sp = SystemConfig.readValue("EXTERNAL_SP"); */	ServletContext context = request.getSession().getServletContext();	session.setAttribute("menuList", list);	//将menuList转换成json格式	JSONArray tableArray = JSONArray.fromObject(list);	request.setAttribute("list", tableArray);	String allow_users = SystemConfig.readValue("ALLOW_MANAGE_USERS");	if(!"".equals(allow_users)){		List<String> allow_users_List = Arrays.asList(allow_users.split(","));		if(allow_users_List.contains(principal.getId())){			isUserManageAppear = "1";		}	}		}else		{	session.setAttribute("username", "");	session.setAttribute(Constants.USER_KEY, null);			 //注销cookie中的TGT	response.sendRedirect(response.encodeURL(request.getContextPath()+"/logout"));		}	    session.setAttribute("isUserManageAppear", isUserManageAppear);		    String rtx_server_ip = SystemConfig.readValue("RTX_SERVER_IP");%><!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>江苏港口智能监管信息平台</title><meta name="viewport" content="width=device-width, initial-scale=1"><%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %><%@ include file="../../common.jsp"%><script src="${app}/static/js/base64.js"></script><style type="text/css">footer {	width: 100%;	height: 34px;	background-color: #054fa2;	text-align: center;	position:absolute;	bottom:0;/* 	filter:alpha(opacity=90);	-moz-opacity:0.9; 	opacity:0.9; */}#footer {	color: #f2f1f1;	line-height: 34px;	margin-right: 1%;	display: inline;}</style><link href="${basePath}/css/logout.css" rel="stylesheet"><link rel="icon" href="${app}/pt_logo.png" type="image/x-icon" /><link rel="shortcut icon" href="${app}/pt_logo.png" type="image/x-icon" /><script type="text/javascript" src="${app }/static/biz/js/sys/main.js"></script><script type="text/javascript">	$(document).ready(function() {		sys.main.init();		sys.main.clear();	});		function openValidateExternalAccount(url,p,n,o){		//console.log(arguments);		//window.open('${menu.menuUrl}${user_key.passWord},${user_key.userName}')		var m=isNotBlank(o)?o:n;				var url=url+p+','+m;		//console.log(url);				window.open(url);		/*		$.ajax({			type : 'post',			datatype : 'json',			//contentType : 'application/json;charset=utf-8',			//timeout : 10000, //超时时间设置,单位毫秒			cache : false,// 不从缓存中去数据			async : true,			url : "${basePath}/user/validateExternalAccount.do",			data : {credential:p},			//headers:headinfo,			success : function(data) {				alert(data);			},			error : function(jqXHR, textStatus, errorThrown) {				//alert(jqXHR.responseText);						}		});		*/	}		function isNotBlank(value){		if(typeof(value)!='undefined'&&value!=null){			value=value+"";			for(var i=0; i<value.length; i++) {			    var c = value.charAt(i);			    if ((c!=' ')&&(c!='\n')&&(c!='\t')) return true;		  	}				}	  	return false;	}</script><style></style></head><body style="hieght: 100%; margin: 0px; padding: 0px;">	<!-- 上 -->	<div class="navbar navbar-default" role="navigation" style="border:none;margin-bottom: 0px;z-index: 1000;">		<div class="navbar-inner" style="padding-top:0px;">			<div id='header' class="container-fluid" >				<img src="${app}/static/image/bar.png" />				<div>				<img id="logo" alt="平台LOGO" src="${app }/static/image/logo_portal.png" />				<p id="chinese">江苏港口智能监管信息平台</p>				<p id="spell">JIANG SU GANG KOU ZHI NENG JIAN GUAN XIN XI PING TAI</p>				<!-- user dropdown starts -->				<div class="btn-group pull-right" style="margin: 15px 10px 0 0">					<button class="btn btn-default dropdown-toggle"						data-toggle="dropdown">						<i class="glyphicon glyphicon-user"></i> <span class="caret"></span>					</button>					<ul class="dropdown-menu" >						<c:forEach var="sso_menu" items="${sso_menuList}">							<li><a								href="javascript:addTab('${sso_menu.menuPic}','${app }${sso_menu.menuUrl}','${sso_menu.menuName }');">${sso_menu.menuName }</a>							</li>							<li class="divider"></li>							</c:forEach>							<li><a href="#" data-toggle="modal" data-target="#logout">注销</a></li>							<li class="divider"></li>							<li><a href="#" data-toggle="modal"								data-target="#UpdatePassword" onclick="sys.main.clear()">									修改密码</a></li>						</ul>					</div>					<p id="welcome">${user_key.uname} , 欢迎您!</p>				</div>			</div>		</div>	</div>	<!-- 上结束 -->		<!--<spring:eval expression="T(com.jsjty.sso.util.DesPasswordEncoder).encrypt('ddd','yjpt_gkj')" />-->	<div class="container-fluid" id="cent1" style="hieght: 100%; padding-left: 1px;margin-left: -1.5px;">		<div class="row-fluid" style="hieght: 100%">			<div id="leftmenu">				<div class="mysidebar-menu" id="cont1">					<c:forEach var="menu" items="${menuList}">						<c:if test="${menu.pid==0}">							<a target="_blank" href="#${menu.id}"								class="nav-header mymenu-first collapsed "								data-toggle="collapse" onclick="hidden_menu(this)"								<c:if test="${menu.menuCode=='tjxt'}">																		window.open('${menu.menuUrl}${user_key.passWord},${user_key.userName}')									ondblclick="openValidateExternalAccount('${menu.menuUrl}','<spring:eval expression="T(com.jsjty.sso.util.DesPasswordEncoder).encrypt('{userName:\"'+user_key.userName+'\",passWord:\"'+user_key.passWord+'\"}','yjpt_gkj')" />','${user_key.userName}','${user_key.otherName}')"								</c:if>								<c:if test="${menu.menuCode!='tjxt'}">									ondblclick="window.open('${menu.menuUrl}')"								</c:if>								>								 <img id="${menu.menuPic}" name="menu_img"								src="${basePath}/images/${menu.menuPic}_gray.png"								class='navigation_page_icon1' />								<p >${menu.shortName}</p>								<img name="arrow" class="navigation_page_icon2" src="${basePath}/images/arrow_gray.png" />							</a>							<ul id="${menu.id}" class="nav mynav-list collapse mymenu-second">								<c:forEach var="mu" items="${menuList}">									<c:if test="${mu.pid==menu.id}">										<li><a href="javascript:void(0)"											onclick="addTab('${mu.menuPic}','${app }${mu.menuUrl}','${mu.shortName}');"><span style="font-weight:bold;">·</span>  ${mu.menuName}</a></li>									</c:if>								</c:forEach>							</ul>						</c:if>					</c:forEach>				</div>			</div>			<!-- 中 -->			<div id="colright">				<div id="tab"></div>			</div>		</div>	</div>	<!-- 修改密码弹窗 -->	<div class="modal fade" id="UpdatePassword" tabindex="-1" role="dialog"		aria-labelledby="myModalLabel" aria-hidden="true">		<div class="modal-dialog">			<div class="modal-content">				<div class="modal-header">					<button type="button" class="close" data-dismiss="modal">×</button>					<h3>修改密码</h3>				</div>				<div class="modal-body">					<form id="updatepasswordform" method="post">						<input type="hidden" id="editid" name="id">						<table class="add_table">							<tr>								<td width="20%" style="text-align: right;">原密码:</td>								<td width="80%"><input type="password" class="form-control"									id="editoldPassword" name="oldPassword"									style="display: inline; width: 300px"									onblur="sys.main.validation1()"><span									id="backpassword1" style="color: red;"></span></td>							</tr>							<tr>								<td width="20%" style="text-align: right;">新密码:</td>								<td width="80%"><input type="password" class="form-control"									id="editnewPassword" name="newPassword"									style="display: inline; width: 300px"									onblur="sys.main.validation2()"><span									id="backpassword2" style="color: red;"></span></td>							</tr>							<tr>								<td width="20%" style="text-align: right;">确认新密码:</td>								<td width="80%"><input type="password" class="form-control"									id="editconfirmNewPassword" name="confirmNewPassword"									style="display: inline; width: 300px"									onblur="sys.main.validation3()"><span									id="backpassword3" style="color: red;"></span></td>							</tr>						</table>					</form>				</div>				<div class="modal-footer">					<a href="#" class="btn btn-default" data-dismiss="modal">取消</a> <a						href="#" class="btn btn-default" data-dismiss="modal"						onclick="sys.main.updatepassword()">保存</a>				</div>			</div>		</div>	</div><!-- 注销面板 -->	<div class="modal fade" id="logout" tabindex="-1" role="dialog"		aria-labelledby="myModalLabel" aria-hidden="true">		<div class="hide_div">			<div id="quit">				<div class="table_th">					<p style="font-weight: bold;">提示</p>					<a href="#"> <img title="取消"						src="${app}/static/image/x_white.png"						onmouseover="this.src='${app}/static/image/x_hover.png'"						onmousedown="this.src='${app}/static/image/x_down.png'"						onmouseout="this.src='${app}/static/image/x_white.png'"						data-dismiss="modal" aria-hidden="true" "/></a>				</div>				<div id="quit_main">					<p>是否注销?</p>					<button title="确认退出" class="button_style" style="left: 60px;"						onclick="logout()">是</button>					<button id="1" title="取消" class="button_style"						style="right: 60px; background-color: #93a9bd;"						data-dismiss="modal" aria-hidden="true">否</button>				</div>			</div>		</div>	</div>	<footer>		<p id="footer"			style="font-size: 12px; font-family: SimSun, sans-serif; color: #fff; line-height: 30px; margin-left: 10%; margin-top: -1px;">Copyright			© 2015 江苏省新通智能交通科技发展有限公司</p>	</footer>	<script type="text/javascript">		$(document).ready(function() {			var list = ${list};			var isfirst = true;			var firsturl = "";			var firstName = "";			var firstPic="";			for ( var i = 0; i < list.length; i++) {				var code = list[i];				if (code.isDefaultShow == 1) {					if (isfirst) {						firsturl = '${app }' + code.menuUrl						firstName = code.shortName;						firstPic=code.menuPic;						isfirst = false;					}					addTab(code.menuPic,'${app }'+code.menuUrl, code.shortName);				}			}			if (firsturl != "") {				addTab(firstPic,firsturl, firstName);				//$('#'+firstName).css('margin-left','0px');			}		});	</script></body></html>
 |