cas 登出界面和登出action的修改
来源:互联网 发布:react.js 中文文档 编辑:程序博客网 时间:2024/05/16 22:32
一.cas4.0的登出action执行之后,会进入一个logout successful界面,这个界面没有任何链接和跳转button,并不好看,准备替换成和login界面一致的页面。
tomcat上部署2个应用:cas server和app1。
1.[错误方向]一开始,直接替换logout的页面为login页面:
修改cas server中的my_views.properties(自定义的view properties,用于替换cas原先的default_views.properties):
casLogoutView.url=/WEB-INF/view/jsp/default/ui/casLogoutView.jsp
ERROR [org.springframework.web.servlet.tags.form.InputTag] - <Neither BindingResult nor plain target object for bean name '' available as request attribute>
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name '' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:179)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:199)
。。。(等等一堆)网上搜了一大堆,定位问题为,casLoginView.jsp中引用1行:
<form:form method="post" id="fm1" commandName="${commandName}" htmlEscape="true">
这个commandName在login-webflow.xml中定义了,在logout-webflow.xml中么有定义,所以报错了。
第1个解决方案为
2.[正确方向]修改casLogoutView.jsp:
<jsp:forward page="/sso/login"/>
3.[正确方向]修改casLogoutView.jsp:
<jsp:redirect page="/sso/login"/>
结果正确~不过多此一举啊喂。。
二.cas登出操作之后,在浏览器点击回退,发现浏览器的session info并没有清除干净,导致页面存在不安全风险。
所以在cas server的casLogoutView.jsp加上一段:
<%session.invalidate();%>
三.logout之后再logon,进入的是cas的默认登陆界面,而不是logout之前的应用app1的界面,这种action并不友好。修改app1的登出action:
1.app1中添加1个logout.jsp:
<html><body><%response.sendRedirect(application.getInitParameter("casServerLogoutUrl") + "?service=" + application.getInitParameter("serverName") + "/uwt");%></body></html>
2.app1的web.xml中添加:
<pre name="code" class="html"> <context-param> <param-name>casServerLogoutUrl</param-name> <param-value>https://***.com:8443/sso/logout</param-value> </context-param> <context-param> <param-name>serverName</param-name> <param-value>http://***.com:8080</param-value> </context-param>
这样登出后再登陆,进入的仍然是登出前的应用app1。
- cas 登出界面和登出action的修改
- 单点登录和单点登出CAS的使用
- 第三篇 CAS单点登录和登出
- CAS单点登录登出的实现
- CAS单点登出
- 实现CAS单点登出
- cas 单点登出
- 实现CAS单点登出
- cas单点登出
- 实现CAS单点登出
- CAS(8)-单点登出
- CAS客户端单点登出
- CAS(8)-单点登出
- CAS单点登出:一
- CAS单点登出:二
- cas 单点登陆、登出原理
- CAS单点登录登出原理
- cas 4.2.x 单点登出
- 关于今天学习的小结
- UVA 253-Cube painting
- poj3292 Semi-prime H-numbers
- testNg之PowerEmailableReporter
- 随机双色球
- cas 登出界面和登出action的修改
- hdu_5723_Abandoned country(最小生成树)
- c#连接到Mysql
- HDU 1166 敌兵布阵
- 类的继承
- React Native发布APP之签名打包APK
- printf应用
- testNg之RetryListener
- js中几种实用的跨域方法原理详解