【SSO单点系列】(4):CAS4.0 之非Ajax-iframe 登录
一、描述
不使用Ajax-iframe 登录 仍然要自定义页面
二、思路:
将数据提交给服务器登录页面,服务登录页面自动提交。
三、实现
1、客户端
<form name="loginform" id="loginform" action="http://www.myCas.com:18080" method="get" >
<input type="hidden" name="auto" value="true" />
<input type="hidden" name="service" value="http://www.myApp5.com:8088/jeeadmin/jeecms/myLoginSSO.do" />
<input type="hidden" name="loginUrl" value="http://www.myApp5.com:8088/jeeadmin/jeecms/login.do" />
<div class="form">
<div class="input-group">
<label class="n">用户名:</label>
<input class="q" type="text" name="username" id="j_username" value="" size="25" placeholder="请输入用户名">
</div>
<div class="input-group">
<label class="n">密码:</label>
<input class="q" onfocus="this.type='password'" autocomplete="off" name="password" id="j_password" value="" size="25" placeholder="请输入密码" >
</div>
<div class="input-group">
<input class="c" type="checkbox" id="remember" name="rememberMe" value="1"> 记住用户名称 </div>
<div class="input-group">
<input type="submit" value="登 录"class="b"/>
</div>
</div>
</form>
客户传入auto表示自动提交方式
2、服务端
登录页面修改casLoginView.jsp
<%@ page pageEncoding="UTF-8"%>
<jsp:directive.include file="includes/top.jsp" /> <%
String a= request.getParameter("username") ;
String utf8 ="";
if(a!=null){
utf8 = new String(a.getBytes("iso-8859-1"), "utf-8");
} String auto = request.getParameter("auto");
if (auto != null && auto.equals("true")) {
%>
<html>
<head>
<script language="javascript">
function doAutoLogin() {
document.forms[0].submit();
}
</script>
</head>
<body onload="doAutoLogin();">
<form id="credentials" method="POST" action="<%= request.getContextPath() %>/login?service=<%= request.getParameter("service") %>">
<input type="hidden" name="lt" value="${loginTicket}" />
<input type="hidden" name="execution" value="${flowExecutionKey}" />
<input type="hidden" name="_eventId" value="submit" />
<input type="hidden" name="username" value="<%= utf8 %>" />
<input type="hidden" name="password" value="<%= request.getParameter("password") %>" />
<input type="hidden" name="loginUrl" value="<%= request.getParameter("loginUrl") %>" />
<% if ("true".equals(request.getParameter("rememberMe"))) {%>
<input type="hidden" name="rememberMe" value="true" />
<% } %> <input type="submit" value="Submit" style="visibility: hidden;" />
</form>
</body>
</html>
<%
} else {
%>
<!------- -*****************************-------------->
<c:if test="${not pageContext.request.secure}">
<div id="msg" class="errors">
<h2>Non-secure Connection</h2>
<p>You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS.</p>
</div>
</c:if>
<!------- -**************些处省略***************-------------->
<%
}
%> <jsp:directive.include file="includes/bottom.jsp" />
【SSO单点系列】(4):CAS4.0 之非Ajax-iframe 登录的更多相关文章
- 【SSO单点系列】(2):CAS4.0 登录页的个性化定制
上一篇 [SSO单点系列](1):CAS环境的搭建介绍了CAS最简单环境的搭建,以及一个例子用来讲解CAS的一个最基础的用法. 今天主要是介绍如何对CAS登录页进行个性化定制. 一.开始 下图是 ...
- 【SSO单点系列】(1):CAS4.0 环境的搭建
一.概述 今天开始写CAS相关的第一篇文章,这篇文章主要是关于CAS环境的搭配,提供给刚刚接触CAS的一个入门指南,并演示一个CAS的最简单的实例 二.环境要求 博主的环境如下: win8.1 64 ...
- 【SSO单点系列】(3):CAS4.0 登录页验证码的添加
2016.08.23 更新 注意:这个教程只适合4.0版本的,4.1以及以上的版本的已经不试用了, 后面几篇有人提到过 源码网盘链接更新了下 : 链接: http://pan.baidu.com/s/ ...
- 【SSO单点系列】(6):CAS4.0 单点流程序列图(中文版)以及相关术语解释(TGT、ST、PGT、PT、PGTIOU)
CAS 相关的内容好久没写了,可能下周会继续更新一些内容吧. 在上一篇中的单点流程序列图由于是从官网直接下载来的,上面都是英文,可能有的朋友看不懂,因此修改成中文的. PS:只修改了一个,第二个图明天 ...
- 【SSO单点系列】(7):CAS4.0 SERVER通过数据库方式认证用户
在前几篇中有简单介绍服务端的认证方式,默认的是直接在 deployerConfigContext.xml 文件中 一个叫做 primaryAuthenticationHandler 的bean中配置. ...
- 【SSO单点系列】(4):CAS4.0 SERVER登录后用户信息的返回
接着上一篇,在上一篇中我们描述了怎么在CAS SERVER登录页上添加验证码,并进行登录.一旦CAS SERVER验证成功后,我们就会跳转到客户端中去.跳转到客户端去后,大家想一想,客户端总要获取用户 ...
- 【SSO单点系列】(5):CAS4.0 单点流程序列图
刚过元旦假期,感觉自己好久没写博客了,今天更新一篇,主要是CAS 的一个流程图. ps: 这两张图 是直接从官网上找的,都是简单的英语,我这种英语四级没过都看得懂,大家应该没有压力. 1.CAS 基本 ...
- 【SSO单点系列】开篇
年底将至,忙碌了好几个月的项目也接近尾声了.在这个项目中,由于要和其他外系统做单点登录(SSO),整合其他系统的功能.在网上查询了相关资料后,最终选取了Yale大学发起的一个开源项目 CAS, 作为项 ...
- cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)
转:http://blog.csdn.net/ae6623/article/details/8861065 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标: ...
- 最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二
写第一篇博客<手把手教做单点登录(SSO)系列之一:概述与示例>,就获得了园子里朋友们热情的评论和推荐,感谢各位. 我那篇文章同时发了CSDN和博客园.对比一下,更感受到博客园童鞋们的技术 ...
随机推荐
- 上传图片文件并立即显示到页面使用 javascript实现鼠标拖动画矩形框以及实现固定区域内随意拖动
首先,你要设计好鼠标事件处理方法,主要是鼠标左键点击,左键释放,还有鼠标移动方法其次,要了解容什么方式,画一个矩形,设计一个方法:DrawRectgle(左上角,右下角),并且要确定当调用这个方法时, ...
- python命令行参数argparse常用命令
1.参数个数控制 parser.add_argument('-i', '--integers', nargs='?', const=100, type=int, help='input a numbe ...
- JVM是如何解决跨代引用问题的?
本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 不知道自己的无知,乃是双倍的无知.--柏拉图 目录 跨代引用问题 记忆集 卡表 写屏障 ...
- Java基础1-1-3—java基础语法(条件控制语句)
3. 条件控制语句 3.1 流程控制语句-顺序结构 流程控制语句:通过一些语句,来控制程序的[执行流程] 流程控制语句分类: 顺序结构 分支结构(if,switch) 循环结构(for,while,d ...
- ThreadLocal 超强图解,这次终于懂了~
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap ...
- KingbaseES函数三态
理解函数的三态1 VOLATILE: volatile函数没有限制,可以修改数据(如执行delete,insert,update), 使用同样的参数调用可能返回不同的值. STABLE: 不允许修改数 ...
- P22_条件渲染
条件渲染 wx:if 在小程序中,使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块: 也可以用 wx:elif 和 wx:else 来添加 else 判 ...
- P21_事件传参与数据同步
事件绑定 在事件处理函数中为 data 中的数据赋值 通过调用 this.setData(dataObject) 方法,可以给页面 data 中的数据重新赋值,示例如下: 事件传参 小程序中的事件传参 ...
- Vue急速入门-5
vue-cli创建项目 前端工程化,项目>>>(vue-cli),创建处vue项目,单页面应用(spa) vue-cli创建项目开发,在项目中开发,最后上线,一定要编译 '纯粹的ht ...
- 跳板攻击之:dns2tcp
跳板攻击之:dns2tcp 目录 跳板攻击之:dns2tcp 1 dns2tcp简介 2 dns2tcp 食用说明 2.1 dns2tcpd 服务端 2.1.1 服务端参数说明 2.1.2 配置文件 ...