CAS—修改默认登录页

来源:互联网 发布:怎么修改网页游戏数据 编辑:程序博客网 时间:2024/06/08 10:08

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源码如下:

[html] view plain copy
  1. <jsp:directive.include file="includes/top.jsp" />  
  2.   
  3. <c:if test="${not pageContext.request.secure}">  
  4. </c:if>  
  5.   
  6.   <div class="box fl-panel" id="login">  
  7.             <form:form method="post" id="fm1" cssClass="fm-v clearfix" commandName="${commandName}" htmlEscape="true">  
  8.                   <form:errors path="*" id="msg" cssClass="errors" element="div" />  
  9.                 <!-- <spring:message code="screen.welcome.welcome" /> -->  
  10.                     <h2><spring:message code="screen.welcome.instructions" /></h2>  
  11.                     <div class="row fl-controls-left">  
  12.                         <label for="username" class="fl-label"><spring:message code="screen.welcome.label.netid" /></label>  
  13.                         <c:if test="${not empty sessionScope.openIdLocalId}">  
  14.                         <strong>${sessionScope.openIdLocalId}</strong>  
  15.                         <input type="hidden" id="username" name="username" value="${sessionScope.openIdLocalId}" />  
  16.                         </c:if>  
  17.   
  18.                         <c:if test="${empty sessionScope.openIdLocalId}">  
  19.                         <spring:message code="screen.welcome.label.netid.accesskey" var="userNameAccessKey" />  
  20.                         <form:input cssClass="required" cssErrorClass="error" id="username" size="25" tabindex="1" accesskey="${userNameAccessKey}" path="username" autocomplete="false" htmlEscape="true" />  
  21.                         </c:if>  
  22.                     </div>  
  23.                     <div class="row fl-controls-left">  
  24.                         <label for="password" class="fl-label"><spring:message code="screen.welcome.label.password" /></label>  
  25.                         <%--  
  26.                         NOTE: Certain browsers will offer the option of caching passwords for a user.  There is a non-standard attribute,  
  27.                         "autocomplete" that when set to "off" will tell certain browsers not to prompt to cache credentials.  For more  
  28.                         information, see the following web page:  
  29.                         http://www.geocities.com/technofundo/tech/web/ie_autocomplete.html  
  30.                         --%>  
  31.                         <spring:message code="screen.welcome.label.password.accesskey" var="passwordAccessKey" />  
  32.                         <form:password cssClass="required" cssErrorClass="error" id="password" size="25" tabindex="2" path="password"  accesskey="${passwordAccessKey}" htmlEscape="true" autocomplete="off" />  
  33.                     </div>  
  34.                     <div class="row check">  
  35.                         <input id="warn" name="warn" value="true" tabindex="3" accesskey="<spring:message code="screen.welcome.label.warn.accesskey" />type="checkbox" />  
  36.                         <label for="warn"><spring:message code="screen.welcome.label.warn" /></label>  
  37.                     </div>  
  38.                     <div class="row btn-row">  
  39.                         <input type="hidden" name="lt" value="${loginTicket}" />  
  40.                         <input type="hidden" name="execution" value="${flowExecutionKey}" />  
  41.                         <input type="hidden" name="_eventId" value="submit" />  
  42.   
  43.                         <input class="btn-submit" name="submit" accesskey="l" value="<spring:message code="screen.welcome.button.login" />tabindex="4" type="submit" />  
  44.                         <input class="btn-reset" name="reset" accesskey="c" value="<spring:message code="screen.welcome.button.clear" />tabindex="5" type="reset" />  
  45.                     </div>  
  46.             </form:form>  
  47.           </div>  
  48. <jsp:directive.include file="includes/bottom.jsp" />  

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  2. <%@ page session="true" %>  
  3. <%@ page pageEncoding="UTF-8" %>  
  4. <%@ page contentType="text/html; charset=UTF-8" %>  
  5. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
  6. <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>  
  7. <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>  
  8. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>  
  9. <spring:theme code="mobile.custom.css.file" var="mobileCss" text="" />  
  10. <html xmlns="http://www.w3.org/1999/xhtml" lang="en">  
  11.     <head>  
  12.         <title>CAS – Central Authentication Service</title>  
  13.         <c:if test="${not empty requestScope['isMobile'] and not empty mobileCss}">  
  14.              <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />  
  15.              <meta name="apple-mobile-web-app-capable" content="yes" />  
  16.              <meta name="apple-mobile-web-app-status-bar-style" content="black" />  
  17.         </c:if>  
  18.         <spring:theme code="standard.custom.css.file" var="customCssFile" />  
  19.         <link type="text/css" rel="stylesheet" href="<c:url value="${customCssFile}" />/>  
  20.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
  21.         <link rel="icon" href="<c:url value="/favicon.ico" />type="image/x-icon" />  
  22.     </head>  
  23.     <body id="cas" class="fl-theme-iphone">  
  24.     <div class="flc-screenNavigator-view-container">  
  25.         <div class="fl-screenNavigator-view">  
  26.             <div id="header" class="flc-screenNavigator-navbar fl-navbar fl-table">  
  27.                 <h1 id="company-name">tgb</h1>  
  28.                 <h1 id="app-name" class="fl-table-cell">高校云平台</h1>  
  29.             </div>          
  30.             <div id="content" class="fl-screenNavigator-scroll-container"></div>  
  31.         </div>  
  32.     </div>  
  33.     </body>  
  34. </html>  

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

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
  2.   
  3. </div>  
  4.                 <div id="footer" class="fl-panel fl-note fl-bevel-white fl-font-size-80">  
  5.                     <a id="jasig" href="http://www.jasig.org" title="go to Jasig home page"></a>  
  6.                     <div id="copyright">  
  7.                         <p>Copyright &copy; 2014 - 2015 tgb, CHN. All rights reserved.</p>  
  8.                         <p>Powered by <a href="http://baike.baidu.com/link?url=UrN74H--uY4bXP6RmAk9lk3TAiyVG-FKjGemwU-zfkmeyBzbmTwp-9pF6qZUBTVD8OvSCQ2_pIEkbelXxCGE-_">廊坊师范学院 信息技术提高班 第9期</a></p>  
  9.                     </div>                </div>  
  10.             </div>  
  11.         </div>  
  12.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  
  13.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js"></script>  
  14.         <script type="text/javascript" src="<c:url value="/js/cas.js" />"></script>  
  15.     </body>  
  16. </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预览登录页,如下:

    

  到此,修改完毕。。。

0 0
原创粉丝点击