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>
|