一、常识了解   1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码; 3.getBytes() 是通过平台默认字符集进行编码;   二、中文乱码出现   在学习任何一门技术时

CAS logout的时候,默认是会重定向到cas server端的logout页面。

现在的需求是重定向到登录页面。

在应用中, 我还遇到直接ogout(只做清空session, cookie), 而不去重定向到cas 的logout页面,这种情况下:

如果不关闭浏览器, 直接再次输入Application的URL, 会绕过CAS认证,照常登入。

吃问题困扰了几天,看了一下CASserver端的代码,恍然大悟:

LogoutController有一个开关变量:

Java代码

private boolean followServiceRedirects;

并有一段逻辑: 项目要求struts2和servlet能够共存,就是struts的请求发给struts处理,servlet的请求发给servlet处理。目前web.xml文件应该是类似于如下的配置:  struts2org.apache.struts2.dispatcher.ng.filte

Java代码

if (this.followServiceRedirects && service != null) {

return new ModelAndView(new RedirectView(service));

}

service是个啥:

Java代码

final String service = request.getParameter("service");

如果在logout的url后面加上你要重定向的那个页面, 就可以自定义登出页面了:

所以,我的方案就出来了:

在cas-servlet.xml中,设置logoutController的followServiceRedirects=true

Xml代码

p:centralAuthenticationService-ref="centralAuthenticationService"

p:logoutView="casLogoutView"

p:warnCookieGenerator-ref="warnCookieGenerator"

p:ticketGrantingTicketCookieGenerator-ref="ticketGrantingTicketCookieGenerator"

p:followServiceRedirects="true"/>

application在登出的时候,除了清空session和cookie外, 重定向的url加上:

Java代码

var apphostname = window.location.hostname

var appport = window.location.port;

var callbackurl='?service=http%3A%2F%2F'+apphostname +'%3A'+appport + '%2Fapplication' Java代码

window.location = logoutUrl+ callbackurl;

java cas logout无效_CAS logout 解决方案相关推荐

  1. java十六进制0xaa_“.”(十六进制值 0x00)是无效的字符解决方案

    自从我们的项目数据层从读取数据库改为读取接口服务后,经常会出现一些类似于 的错误.我们的数据结构如下所示 ->,C#为正则表达式提供了强大的支持,本课程重点讲述在C#环境下使用正则表达式,并能够 ...

  2. 使用iBatis中报 java.sql.SQLException: 无效的列类型异常

    1. <!--Content表 插入应的记录到数据库中 --> 2. < insert id = "insertContent"   parameterClass ...

  3. java.sql.SQLException: 无效的列类型: 1111 报错问题解决

    在项目中利用Mybatis做持久化框架,XXXMapper.xml中insert语句做插入时,偶然会遇到一些报错或者说是问题,如下: 报错日志: nested exception is org.apa ...

  4. java 并发问题存在的原因 解决方案

    java 并发问题存在的原因 & 解决方案 基于jdk1.8 参考<深入理解JVM> <java并发实践> <Linux内核设计与实现>等 并发存在的原因 ...

  5. 01 - Java并发编程与高并发解决方案笔记-基础篇

    01 - Java并发编程与高并发解决方案笔记-基础篇 基础篇很重要!很重要!很重要!!!一定要理解和认真思考. 01 - Java并发编程与高并发解决方案笔记-基础篇 1.课程准备 2.并发编程基础 ...

  6. 计算价格, java中浮点数精度丢失的解决方案

    计算价格, java中浮点数精度丢失的解决方案 转载于:https://www.cnblogs.com/gloryhope/p/9896719.html

  7. 《Java并发编程入门与高并发面试》or 《Java并发编程与高并发解决方案》笔记

    <Java并发编程入门与高并发面试>or <Java并发编程与高并发解决方案>笔记 参考文章: (1)<Java并发编程入门与高并发面试>or <Java并发 ...

  8. JAVA大文件上传断点续传解决方案

    JAVA大文件上传断点续传解决方案 参考文章: (1)JAVA大文件上传断点续传解决方案 (2)https://www.cnblogs.com/songsu/p/11834425.html (3)ht ...

  9. Socket java.net.SocketException: Connection reset的解决方案

    Socket java.net.SocketException: Connection reset的解决方案 参考文章: (1)Socket java.net.SocketException: Con ...

最新文章

  1. Nat. Mach. Intell. | FFPred-GAN:“以假乱真“—基于GAN创建合成特征样本改进蛋白质功能预测...
  2. C++系列总结——构造与析构
  3. HDU 2833 WuKong
  4. 64位Ubuntu 12.04系统下安装Qt library和Qt Creator全过程记录
  5. 剑指offer之队列的最大值
  6. untitled软件怎么用_苹果手机怎么用4G网络于App Store下载超过200MB以上的软件
  7. xp系统如何开启共享服务器,xp系统怎么关闭共享服务 xp系统共享打印机如何设置...
  8. Moodle:通过用户ID(user id) 获取用户权限
  9. 单进程服务器-epoll版
  10. C#窗体应用实战项目——绩效考核管理系统
  11. WebLogic下载地址(各版本)
  12. visio画图复制粘贴到word_怎么将visio绘图导入Word(visio绘图插入word后如何调整大小)...
  13. 施工企业信息注册需要对计算机网络,关于建筑施工企业中计算机网络技术的应用论文...
  14. [luoguT30208]太极剑
  15. 卜算子.咏梅 英文版
  16. Navicat 查看密码 破解保存的密码 + 密码解密
  17. 与台湾的第一次亲密接触
  18. 计算机找不到 bitlocker,win10中找不到bitlocker驱动器的解决方法介绍
  19. z分数(z-score)——之前世今生
  20. 山西财经大学计算机二级成绩,山西财经大学2018年各省市各批次录取分数线

热门文章

  1. Java高级工程师常见面试题
  2. oracle 学习积累(3)
  3. VS 创建C# winfrom 语音播报(文字朗读),无需下载插件
  4. C++ accumulate()的使用
  5. Trap命令使用说明
  6. 我在百度大脑用数据看《你好,李焕英》
  7. tf.Variable
  8. 太空动作游戏《Phobos Vector Prime》创作经验分享
  9. 第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组
  10. Android仿微信图片编辑库,你想要的功能这里都有