%@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"%>
提示