CAS—修改默认登录页

1、  部署CAS-Server

  本文以cas-server-3.4.11-release.zip为例,解压提取cas-server-3.4.11/modules/cas-server-webapp-3.4.11.war文件。然后,解压一个新的tomcat,我的目录为【H:\常用软件\03. Java\tomcat\apache-tomcat-6.0.33】,然后把上面提取的文件copy到 【H:\常用软件\03. Java\tomcat\apache-tomcat-6.0.33\webapps\】目下,并重命名为:cas.war。如下图:

  

  启动tomcat-cas,当cas.war部署成功后,会在当前目录上生成一个cas文件夹:

  

  然后,在浏览器地址栏输入:http://localhost:8080/cas/login,回车可看到cas的默认登录页面:

  

  这样代表CAS-Server已经部署成功了,但是我们在“生产环境”使用Web应用时肯定不能使用默认的登录页,需要定制与我们项目相关登录页,例如我这里简单地对在默认登录页基础上进行了修改,如下图:

  

  修改方法如下……

2、  修改步骤

  首先,打开【H:\常用软件\03. Java\tomcat\apache-tomcat-6.0.33\webapps\cas】目录,该目录为cas目录,我们所有操作都在该目录下完成。

  要知道,cas统一认证的登陆页面位于:cas目录/WEB-INF/view/jsp/default/ui 文件夹里,其中casLoginView.jsp为登陆页面:

  

看到这个目录,从名字都可以知道,cas一些默认的页面都在这里。可以随意修改,它都是一些普通的jsp页面。ok,下面就开始修改:

  2.1  复制一份default文件夹,重命名为myview

  主要是为了保留cas默认的一套jsp页面,我们将其拷贝一份,在副本上进行修改,然后更改配置,使得我们的那套副本jsp生效即可。如下图:

  

  2.2  修改jsp

  其实从上面修改后的登录页可以看出,我修改的东西非常少。这里我直接贴整个文件的代码了(里面具体修改的地方非常简单,一看便知)。一共修改了3个jsp:

  myview\ui目录下的casLoginView.jsp源码如下:

<jsp:directive.include file="includes/top.jsp" />

<c:if test="${not pageContext.request.secure}">
</c:if>

  <div class="box fl-panel" id="login">
			<form:form method="post" id="fm1" cssClass="fm-v clearfix" commandName="${commandName}" htmlEscape="true">
                  <form:errors path="*" id="msg" cssClass="errors" element="div" />
                <!-- <spring:message code="screen.welcome.welcome" /> -->
                    <h2><spring:message code="screen.welcome.instructions" /></h2>
                    <div class="row fl-controls-left">
                        <label for="username" class="fl-label"><spring:message code="screen.welcome.label.netid" /></label>
						<c:if test="${not empty sessionScope.openIdLocalId}">
						<strong>${sessionScope.openIdLocalId}</strong>
						<input type="hidden" id="username" name="username" value="${sessionScope.openIdLocalId}" />
						</c:if>

						<c:if test="${empty sessionScope.openIdLocalId}">
						<spring:message code="screen.welcome.label.netid.accesskey" var="userNameAccessKey" />
						<form:input cssClass="required" cssErrorClass="error" id="username" size="25" tabindex="1" accesskey="${userNameAccessKey}" path="username" autocomplete="false" htmlEscape="true" />
						</c:if>
                    </div>
                    <div class="row fl-controls-left">
                        <label for="password" class="fl-label"><spring:message code="screen.welcome.label.password" /></label>
						<%--
						NOTE: Certain browsers will offer the option of caching passwords for a user.  There is a non-standard attribute,
						"autocomplete" that when set to "off" will tell certain browsers not to prompt to cache credentials.  For more
						information, see the following web page:
						http://www.geocities.com/technofundo/tech/web/ie_autocomplete.html
						--%>
						<spring:message code="screen.welcome.label.password.accesskey" var="passwordAccessKey" />
						<form:password cssClass="required" cssErrorClass="error" id="password" size="25" tabindex="2" path="password"  accesskey="${passwordAccessKey}" htmlEscape="true" autocomplete="off" />
                    </div>
                    <div class="row check">
                        <input id="warn" name="warn" value="true" tabindex="3" accesskey="<spring:message code="screen.welcome.label.warn.accesskey" />" type="checkbox" />
                        <label for="warn"><spring:message code="screen.welcome.label.warn" /></label>
                    </div>
                    <div class="row btn-row">
						<input type="hidden" name="lt" value="${loginTicket}" />
						<input type="hidden" name="execution" value="${flowExecutionKey}" />
						<input type="hidden" name="_eventId" value="submit" />

                        <input class="btn-submit" name="submit" accesskey="l" value="<spring:message code="screen.welcome.button.login" />" tabindex="4" type="submit" />
                        <input class="btn-reset" name="reset" accesskey="c" value="<spring:message code="screen.welcome.button.clear" />" tabindex="5" type="reset" />
                    </div>
            </form:form>
          </div>
<jsp:directive.include file="includes/bottom.jsp" />

  myview\ui\includes目录下的top.jsp源码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page session="true" %>
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<spring:theme code="mobile.custom.css.file" var="mobileCss" text="" />
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
	<head>
	    <title>CAS – Central Authentication Service</title>
        <c:if test="${not empty requestScope['isMobile'] and not empty mobileCss}">
             <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
             <meta name="apple-mobile-web-app-capable" content="yes" />
             <meta name="apple-mobile-web-app-status-bar-style" content="black" />
        </c:if>
		<spring:theme code="standard.custom.css.file" var="customCssFile" />
        <link type="text/css" rel="stylesheet" href="<c:url value="${customCssFile}" />" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	    <link rel="icon" href="<c:url value="/favicon.ico" />" type="image/x-icon" />
	</head>
	<body id="cas" class="fl-theme-iphone">
    <div class="flc-screenNavigator-view-container">
        <div class="fl-screenNavigator-view">
            <div id="header" class="flc-screenNavigator-navbar fl-navbar fl-table">
				<h1 id="company-name">tgb</h1>
                <h1 id="app-name" class="fl-table-cell">高校云平台</h1>
            </div>
            <div id="content" class="fl-screenNavigator-scroll-container"></div>
		</div>
	</div>
	</body>
</html>

    myview\ui\includes目录下的bottom.jsp源码如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

</div>
                <div id="footer" class="fl-panel fl-note fl-bevel-white fl-font-size-80">
                	<a id="jasig" href="http://www.jasig.org" title="go to Jasig home page"></a>
                    <div id="copyright">
                        <p>Copyright &copy; 2014 - 2015 tgb, CHN. All rights reserved.</p>
                        <p>Powered by <a href="http://baike.baidu.com/link?url=UrN74H--uY4bXP6RmAk9lk3TAiyVG-FKjGemwU-zfkmeyBzbmTwp-9pF6qZUBTVD8OvSCQ2_pIEkbelXxCGE-_">廊坊师范学院 信息技术提高班 第9期</a></p>
                    </div>                </div>
            </div>
        </div>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>
        <script type="text/javascript" src="<c:url value="/js/cas.js" />"></script>
    </body>
</html>

  2.3  修改logo

    将自己的logo重命名为ja-sig-logo.gif,并放到cas\images目录下:

    

  2.4  修改配置,指向myview文件夹下jsp

    复制cas/WEB-INF/classes/default.properties到当前目录下,并重命名为mytheme.properties:

    

    打开mytheme.properties 修改登陆页面的路径(casLoginView.url)为我们复制的myview 文件夹:

    

  2.5  修改配置,指向mytheme.properties配置文件

    打开cas\WEB-INF目录下的cas.properties文件:

    

    修改cas.viewResolver.basename的属性为mytheme_views:

    

  2.6  重启tomcat

    输入http://localhost:8080/cas/login预览登录页,如下:

    

  到此,修改完毕。。。

时间: 2024-08-28 03:51:51

CAS—修改默认登录页的相关文章

CAS—改动默认登录页

1.  部署CAS-Server 本文以cas-server-3.4.11-release.zip为例.解压提取cas-server-3.4.11/modules/cas-server-webapp-3.4.11.war文件.然后,解压一个新的tomcat,我的文件夹为[H:\经常使用软件\03. Java\tomcat\apache-tomcat-6.0.33],然后把上面提取的文件copy到 [H:\经常使用软件\03. Java\tomcat\apache-tomcat-6.0.33\we

CAS 之自定义登录页实践

1. 动机 用过 CAS 的人都知道 CAS-Server端是单独部署的,作为一个纯粹的认证中心.在用户每次登录时,都需要进入CAS-Server的登录页填写用户名和密码登录,但是如果存在多个子应用系统时,它们可能都有相应风格的登录页面,我们希望直接在子系统中登录成功,而不是每次都要跳转到CAS的登录页去登录. 2. 开始分析问题 其实仔细想一想,为什么不能直接在子系统中将参数提交至 cas/login 进行登录呢? 于是便找到了CAS在登录认证时主要参数说明: service        

ActiveMQ修改默认登录帐号

修改conf/jetty-realm.properties文件 # username: password [,rolename ...]admin: admin, adminuser: user, user 用户名: 密码 ,  角色名

CAS4.0.4 之自定义登录页实践

因最近公司要用到cas登陆而且要使用自定登陆页面,网络上搜索了一下cas自定义登陆,比较好的两篇文章CAS 之自定义登录页实践和CAS 之 跨域 Ajax 登录实践,感觉写的不错,但是发现改动的地方很多.而且有些说的不是很详细.但是思路可以借鉴一下. 研究了cas整个登陆流程发现只要获取  lt  登录令牌时改变跳转方向就行! 来自参考原作者 公司的需求是:对接php的登陆,登陆的口令时由子系统生产,php端通过输入用户密码请求cas中的系统.正确则生成token,php端再拿token对验证c

【试水CAS-4.0.3】第02节_CAS服务端登录页个性化

完整版见https://jadyer.github.io/2015/07/16/sso-cas-login-diy/ /** * @see ------------------------------------------------------------------------------------------------------------------------ * @see CAS个性登录页 * @see 0.cas的页面显示控制是集中在\WEB-INF\cas.propert

Liferay 6.2 改造系列之五:修改默认站点的页面内容

相关页面可以通过/portal-master/portal-impl/src/portal.properties文件配置进行修改: 登录页: ## ## Default Landing Page ## # # Set the default landing page path for logged in users relative to the # server path. This is the page users are automatically redirected to after

【SSO单点系列】(2):CAS登录页的个性化定制

上一篇 [SSO单点系列](1):CAS环境的搭建介绍了CAS最简单环境的搭建,以及一个例子用来讲解CAS的一个最基础的用法. 今天主要是介绍如何对CAS登录页进行个性化定制.    一.开始 下图是CAS默认的登录界面,可以看到这界面是肯定不能直接用在生产环境上的,因为上面的有许多英文,简单来说,这是一个对客户非常不友好的界面.那么怎么修改它呢?我们接着往下看! ps:这个页面在工程中的地址为 cas\WEB-INF\view\jsp\default\ui\casLoginView.jsp,大

cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)

转:http://blog.csdn.net/ae6623/article/details/8861065 SSO单点登录系列4:cas-server登录页面自定义修改过程,全新DIY. 目标: 下面是正文: 打开cas的默认首页,映入眼帘的是满眼的中文and英文混杂体,作为一名合格的用户,我表示很不开心. 于是,打开 Nodepad++,寻找C:\tomcat7\webapps\casServer\WEB-INF\view\jsp\default\ui \casLoginView.jsp这个页

(四)SSO之CAS框架单点登录,修改验证数据库的方式

应需求的变化,在登录cas的时候,默认根据用户名和密码进行验证,如果加上用户名,密码和一个系统标识进行验证呢?该如何做呢? 我们知道cas默认的登录界面中,输入的用户名和密码,再配置一下deployerConfigContext.xml 这个文件中的bean  org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler 的这个标签,写上对应的sql,以及在<bean id="dataSource" class=&q