%@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"%>
<%
	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 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 list = new ArrayList();
	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 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 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");
%>
江苏港口智能监管信息平台
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ include file="../../common.jsp"%>
	
	
	
	
	
	
	
	
	
		
			
				
					提示
					 