java-【急】求大神帮帮忙,CAS单点登录问题,登录成功后controller收不到请求(要哭了)

问题描述

【急】求大神帮帮忙,CAS单点登录问题,登录成功后controller收不到请求(要哭了)

首先说下问题,我们的项目之前SSO单点登录一直用的http的方式,
这一块登录一直都是正常的,现在要切上正式环境了,SSO服务器那边就改用了https的方式SSO配置如下:

<listener>
    <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<!-- 该过滤器用于实现单点登出功能,可选配置。 -->
<filter>
    <filter-name>CAS Single Sign Out Filter</filter-name>
    <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CAS Single Sign Out Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 该过滤器负责用户的认证工作,必须启用它 -->
<filter>
    <filter-name>CASFilter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
        <param-name>casServerLoginUrl</param-name>
        <param-value>https://sso.hnair.net/login?appid=hnair-pmp</param-value>
    </init-param>
<init-param>
        <param-name>renew</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>gateway</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <!--这里的server是服务端的IP -->
        <param-name>serverName</param-name>
        <param-value>http://10.70.35.215</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CASFilter</filter-name>
    <url-pattern>/common/huLogin</url-pattern>
</filter-mapping>
<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
<filter>
    <filter-name>CAS Validation Filter</filter-name>
    <filter-class>
        org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
    </filter-class>
    <init-param>
        <param-name>casServerUrlPrefix</param-name>
        <param-value>https://sso.hnair.net</param-value>
    </init-param>
      <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>serverName</param-name>
        <param-value>http://10.70.35.215</param-value>
    </init-param>
<init-param>
        <param-name>useSession</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>redirectAfterValidation</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

JSP代码如下:
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String ctx = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ ctx + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

单点登录
$(function(){
var islogout = "${param.islogout}";
if(!islogout){
var casuser = "${casuser}";
if(!casuser){
window.location.href = "<%=basePath%>common/huLogin";
}else{
var loginMsg = "${loginMsg}";
var openner = window.opener;
if(loginMsg=="success"){
openner.location.href="<%=basePath%>home/index";
window.close();
}else{
window.location.href = "${logoutUrl}";
}
}
}else{
window.opener.location.href = "<%=basePath%>common/logout";
window.close();
}
});

日志信息如下:

controller代码如下:
@RequestMapping(value = "/huLogin")
public String huLogin(
HttpServletRequest request, HttpSession session, Model model)
throws BusinessException
{
logger.info("huLogin begin");
//如果session中没有用户信息,则填充用户信息

//从Cas服务器获取登录账户的用户名

....
session.setAttribute(Constants.LOGOUT_URL, casServerUrl);
model.addAttribute(Constants.CASUSER, userName);
logger.info("huLogin end");
return "common/hulogin";
}

请各位大神帮帮忙看看

解决方案

自己顶,希望各位大神能看见

时间: 2024-08-05 23:20:07

java-【急】求大神帮帮忙,CAS单点登录问题,登录成功后controller收不到请求(要哭了)的相关文章

求大神帮帮忙,j2ee eclipse不知道改动了哪里,之后所有项目都不能用了。求解决办法

问题描述 求大神帮帮忙,j2ee eclipse不知道改动了哪里,之后所有项目都不能用了.求解决办法 求大神帮帮忙,j2ee eclipse不知道改动了哪里,之后所有项目都不能用了.求解决办法. 像下面这样 急求大神帮帮忙 解决方案 看样子是项目中的jar包不见了 你是否设置过什么公用的library,比如j2ee,然后删除了,或者是你从其他地方导入项目进来 你右键项目有一个buid path你查看下项目的引用jar包是不是缺少什么东西 解决方案二: 很眼熟 你看jar库是不是少了什么东西 解决

按钮-自己参照书本写了一个Java Swing中的容器类入门程序设计,但是运行结果不对,求大神帮帮忙!

问题描述 自己参照书本写了一个Java Swing中的容器类入门程序设计,但是运行结果不对,求大神帮帮忙! /*题目是这样的:创建一个窗体在其中摆放两个内容面板对两个面板进行边框个性化设置.初始状态为第二个面板不可见,当单击第一个面板中的"打开"按钮时,第二个面板即可见:当单击第一个面板中的"关闭"按钮时,第二个面板消失. 以下是我结合书本写的代码,不知道为什么运行不了???*/import javax.swing.*;import java.awt.*;impor

遍历-Java字符串问题,求大神帮帮忙

问题描述 Java字符串问题,求大神帮帮忙 请用Java写这个程序,思考题: I am a student ! 定义一个方法: !student a am I 我有思路,但是我实现代码有困难,我的思路是:先将原字符串转换为字符数组,然后从头遍历,判断某个字符是否为空,一旦为空,将前面的存放到list集合中.然后继续从下一个开始遍历,然后判断是否为空,不为空继续向下遍历,然后继续遍历到为空的那个字符,然后继续将不为空的作为一个整体存入list集合中,往复循环进行,直至全部不为空的字符个数全部进入l

事件- 急!!求大神 帮帮忙 bandedGridView行定位

问题描述 急!!求大神 帮帮忙 bandedGridView行定位 双击选中的行 编辑完后调用bandedGridView1_RowUpdated这个事件 操作成功后 重新加载数据后 将选中行的FocusedRowHandle 重新赋给bandedGridView1 但是不管用 加载后选中的是默认的第一行 代码 private int focusedRowHandle = -1; private void loadData() { gridControl1.DataSource = ds.Tab

js html-在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应

问题描述 在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应 <!DOCTYPE html> <br> function insert()<br> {<br> var a="jioho";<br> var str="<table><tr><button type='button' onclick='test("+ a+"

php嵌套循环分类怎么写---求大神帮帮忙呀!

问题描述 php嵌套循环分类怎么写---求大神帮帮忙呀! 鼠标悬停的时候,自动显示大分类下的小分类.(JS已经写出来了,就是php部分不会嵌套) <li class="nav-sub" data-tips="sub-school"> <a href="<{:U('Product/products')}>" class="tit">销售与支持</a> <div class=&

服务器-未赋值的session在jsp报错,求大神帮帮忙吧

问题描述 未赋值的session在jsp报错,求大神帮帮忙吧 想要在页面打开是判定一个session会话,这个session要等到跳转到服务器之后才能赋值. 但是明明我设定了判断是否为空,可是还是报错. 这是我的页面和服务器代码: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//

winform-急,求大神帮帮忙,关于C#调用delphi的dll文件抛错问题

问题描述 急,求大神帮帮忙,关于C#调用delphi的dll文件抛错问题 [DllImport(_fileDll EntryPoint = ""JX102R_Read_Card"" CharSet = CharSet.Ansi CallingConvention = CallingConvention.StdCall)] public static extern int JX102R_Read_Card(ref int ReaderNo ref StringBuil

java-Java 新手问题 求大神帮帮忙

问题描述 Java 新手问题 求大神帮帮忙 大家好,我最近刚刚开始学习编程.?今天有个作业是让我们做一个类似于超速罚单的程序.?但是我怎么都显示不出来罚单. /** ?*?Lab3b?for?secction?3 ?*? ?*?@author?(Castiel) ?*?@version?(01-10-2015) ?*/ public?class?Driver { ????//?instance?variables?-?replace?the?example?below?with?your?own