完整版见https://jadyer.github.io/2015/07/16/sso-cas-login-diy/

/**
* @see ------------------------------------------------------------------------------------------------------------------------
* @see CAS个性登录页
* @see 0.cas的页面显示控制是集中在\WEB-INF\cas.properties中的cas.viewResolver.basename属性的,它的值默认是default_views
* @see 所以cas会去classpath中寻找default_views.properties,在default_views.properties中指定了登录登出页面等
* @see 1.改动cas.properties文件,cas.viewResolver.basename=msxf,再拷贝default_views.properties为msxf.properties
* @see 2.改动msxf.properties文件,/WEB-INF/view/jsp/default改为/WEB-INF/view/jsp/msxf
* @see 当中casLoginView.url表示默认登录页,casLoginGenericSuccessView.url表示默认登录成功页
* @see 3.复制/WEB-INF/view/jsp/default/及其子文件夹全部文件到/WEB-INF/view/jsp/msxf/中
* @see 接下来就能够任意改动登录页面了
* @see 注意\WEB-INF\view\jsp\msxf\ui\includes\bottom.jsp页面中引用了googleapis的一些jquery库
* @see 能够换成百度CDN(http://cdn.code.baidu.com/)的,比方http://apps.bdimg.com/libs/jqueryui/1.10.2/jquery-ui.min.js
* @see ------------------------------------------------------------------------------------------------------------------------
* @create 2015-7-16 下午4:56:17
* @author 玄玉<http://blog.csdn.net/jadyer>
*/

以下是我改动的casLoginView.jsp

<%@ page pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <c:set var="ctx" value="${pageContext.request.contextPath}" scope="session"/> <!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8"/>
<title>CAS单点登录系统</title>
<link rel="icon" type="image/x-icon" href="${ctx}/favicon.ico"/>
<script type="text/javascript" src="${ctx}/js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="${ctx}/js/jquery-ui-1.10.2.min.js"></script>
<script type="text/javascript" src="${ctx}/js/cas.js"></script>
<!--[if lt IE 9]>
<script src="${ctx}/js/html5shiv-3.7.2.min.js" type="text/javascript"></script>
<![endif]-->
</head> <style>
body {background-color: #CBE0C9;}
#msg {padding:20px; margin-bottom:10px;}
#msg.errors {border:1px dotted #BB0000; color:#BB0000; padding-left:100px; background:url(${ctx}/images/error.gif) no-repeat 20px center;}
</style> <body>
<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>
<form:form method="post" commandName="${commandName}" htmlEscape="true">
<!--
cssClass用于指定表单元素CSS样式名,相当于HTML元素的class属性
cssStyle用于指定表单元素样式,相当于HTML元素的style属性
cssErrorClass用于指定表单元素错误发生时相应的样式
path属性用于绑定表单对象的属性值,它支持级联属性,比方path="user.userName"将调用表单对象getUser.getUserName()绑定表单对象的属性值
-->
<form:errors path="*" id="msg" cssClass="errors" element="div" htmlEscape="false"/>
<input type="hidden" name="lt" value="${loginTicket}"/>
<input type="hidden" name="execution" value="${flowExecutionKey}"/>
<input type="hidden" name="_eventId" value="submit"/>
<table border="9">
<tr>
<td>
<c:if test="${not empty sessionScope.openIdLocalId}">
<strong>${sessionScope.openIdLocalId}</strong>
<input type="hidden" name="username" value="${sessionScope.openIdLocalId}"/>
</c:if>
<c:if test="${empty sessionScope.openIdLocalId}">
<form:input tabindex="1" path="username" placeholder="帐号" htmlEscape="true" maxlength="16" size="25"/>
</c:if>
</td>
</tr>
<tr>
<td>
<form:password tabindex="2" path="password" placeholder="密码" htmlEscape="true" maxlength="16" size="25"/>
</td>
</tr>
<tr>
<td>
<input type="checkbox" tabindex="3" name="warn" value="true"/>
<label for="warn">转向其它网站前提示我</label>
</td>
</tr>
<tr>
<td>
<input type="submit" tabindex="4" value="登录"/>
</td>
</tr>
</table>
</form:form>
</body>
</html>

以下是我改动的casGenericSuccess.jsp

<%@ page pageEncoding="UTF-8"%>
<body style="background-color:#CBE0C9;">
<span style="color:red; font-size:64px; font-weight:bold;">登录成功</span>
</body>

以下是效果图



【试水CAS-4.0.3】第02节_CAS服务端登录页个性化的更多相关文章

  1. 【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS

    完整版见https://jadyer.github.io/2012/05/30/tomcat-https/ /** * @see CAS服务端配置HTTPS * @see -------------- ...

  2. 【试水CAS-4.0.3】第01节_CAS服务端搭建及导入源代码到MyEclipse

    完整版见https://jadyer.github.io/2015/07/16/sso-cas-server-demo/ /** * @see ---------------------------- ...

  3. 部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用

    前面介绍了很多关于ABP框架的后台Web API 服务端,以及基于Vue+Element前端应用,本篇针对两者的联合部署,以及对部署中遇到的问题进行处理.ABP框架的后端是基于.net core5.0 ...

  4. SpringCloud升级之路2020.0.x版-19.Eureka的服务端设计与配置

    本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford Eureka Se ...

  5. 单点登录(SSO)解决方案之 CAS服务端数据源设置及页面改造

    接上篇 单点登录(SSO)解决方案之 CAS 入门案例 服务端数据源设置: 开发中,我们登录的user信息都是存在数据库中的,下面说一下如何让用户名密码从我们的数据库表中做验证. 案例中我最终把cas ...

  6. CAS (7) —— Mac下配置CAS 4.x的JPATicketRegistry(服务端)

    CAS (7) -- Mac下配置CAS 4.x集群及JPATicketRegistry(服务端) tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas版本: ...

  7. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  8. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  9. 【试水CAS-4.0.3】第07节_CASclient配置单点登录

    完整版见https://jadyer.github.io/2015/07/26/sso-cas-client-login/ 本文源代码下载:http://download.csdn.net/detai ...

随机推荐

  1. 8:30+1.5小时,返回时间格式的 php函数

    一个实用的自定义函数 /** * 传入8:30格式的开始时间,和小数形式的小时长度,返回结束时间 * @param [type] $start [description] 8:30 * @param ...

  2. oracle 用户解锁和修改用户密码

    1.安装教程参看:https://jingyan.baidu.com/article/3c48dd34be2a32e10be35881.html 2.用户解锁 --> 运行cmd --> ...

  3. ASP.NET-post、get的区别

    post.get的区别 1.get通过把参数加在浏览器的地址栏中提交(最大2K),用post可以进行文件的提交: 2.使用post提交的页面在点击[刷新]按钮的时候浏览器一般会提示"是否重新 ...

  4. CODEVS——T 1005 生日礼物

    http://codevs.cn/problem/1005/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  5. 主流框架(SSH及SSM)配置文件的模板头文件

    SSH三大框架整合配置头文件模板如下: 一:Spring配置文件(beans.xml)模板:<beans    xmlns="http://www.springframework.or ...

  6. Android TextView 横向滚动(跑马灯效果)

    Android TextView 中当文字比較多时希望它横向滚动显示,以下是一种亲測可行的方法. 效果图: 1.自己定义TextView,重写isFocused()方法返回true,让自己定义Text ...

  7. ida动态调试so,在init_array和JNI_ONLOAD处下断点

    本文涉及到的apk.请在github下载https://github.com/jltxgcy/AliCrack/AliCrackme_2.apk. 0x00 怎样在JNI_ONLOAD下断点.參考安卓 ...

  8. Linux内核中进程上下文和中断上下文的理解

    參考: http://www.embedu.org/Column/Column240.htm http://www.cnblogs.com/Anker/p/3269106.html 首先明白一个概念: ...

  9. (插播)关于使用jenkins + unity +Xcode 来进行自己主动打包的处理。

    近期了解了下jenkins流程化服务的东西,个人感觉jenkins是一个非常方便的工具.主要是方便.设置好流程性得命令.仅仅需确定下就能够达到自己主动化. 减轻了错误得发生和简化了带来的复杂得步骤.今 ...

  10. 发送HTTP请求 -- HttpUtil

    1. package com.step.utils; import java.io.IOException; import java.net.URLDecoder; import java.util. ...