日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CAS单点登录3--服务端登录页个性化

發(fā)布時(shí)間:2025/3/21 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAS单点登录3--服务端登录页个性化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原理

cas的頁(yè)面顯示控制是集中在\WEB-INF\cas.properties中的cas.viewResolver.basename屬性的,其默認(rèn)值為default_views

所以cas會(huì)去classpath中尋找default_views.properties(它里面指定了登錄登出頁(yè)面等)

了解了處理邏輯,再想自定義服務(wù)端登錄頁(yè)的話,就方便多了,步驟如下

1、修改cas.properties文件:cas.viewResolver.basename=jadyer,再將default_views.properties拷貝一份為jadyer.properties 2、修改jadyer.properties文件:/WEB-INF/view/jsp/default改為/WEB-INF/view/jsp/jadyer其中`casLoginView.url`表示默認(rèn)登錄頁(yè),`casLoginGenericSuccessView.url`表示默認(rèn)登錄成功頁(yè) 3、復(fù)制/WEB-INF/view/jsp/default/及其子目錄所有文件到/WEB-INF/view/jsp/jadyer/里面

接下來(lái)就可以隨意修改登錄頁(yè)面了

注意:\WEB-INF\view\jsp\jadyer\ui\includes\bottom.jsp頁(yè)面中引用了googleapis的一些jquery庫(kù)
可以換成百度CDN(http://cdn.code.baidu.com),比如http://apps.bdimg.com/libs/jqueryui/1.10.2/jquery-ui.min.js
或者Bootstrap中文網(wǎng)開(kāi)源的免費(fèi)CDN服務(wù)(http://www.bootcdn.cn),比如//cdn.bootcss.com/jqueryui/1.10.2/jquery-ui.min.js

可以將casLoginView.jsp頁(yè)面內(nèi)容換成你想要的頁(yè)面,

我的casLoginView.jsp頁(yè)面內(nèi)容如下

<%@ 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> <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><title>CAS單點(diǎn)登錄系統(tǒng)</title><link rel="stylesheet" href="css/style.css"><!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]--> </head> <body><section class="container"><div class="login"><h1>Login to Web App</h1><%-- <form method="post" action="index.html"> --%><form:form method="post" commandName="${commandName}" htmlEscape="true"><input type="hidden" name="lt" value="${loginTicket}"/><input type="hidden" name="execution" value="${flowExecutionKey}"/><input type="hidden" name="_eventId" value="submit"/> <%-- <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="帳號(hào)" htmlEscape="true" maxlength="16" size="25"/></c:if> --%><p><input type="text" name="username" path="username" value="casuser" placeholder="Username or Email" htmlEscape="true" maxlength="16" size="25"></p><p> <form:input type="password" name="password" path="password" value="Mellon" placeholder="Password" htmlEscape="true" maxlength="16" size="25"/></p><%-- <p><form:input path="captcha" class="captcha" type="text" htmlEscape="true" value="" placeholder="驗(yàn)證碼" maxlength="4" size="15"/> <img style="cursor:pointer; vertical-align:middle;height: 42px;width: 66px;" src="captcha.jsp" onClick="this.src='captcha.jsp?time'+Math.random();"></p> --%> <form:errors path="*" id="msg" cssClass="errors" element="div" htmlEscape="false"/><p class="remember_me"><label><input type="checkbox" name="warn"value="true" id="remember_me">Remember me on this computer</label></p><p class="submit"><input type="submit" tabindex="3" value="Login"></p></form:form></div><div class="login-help"><p>Forgot your password? <a href="index.html">Click here to reset it</a>.</p></div></section> </body> </html>
樣式 ?style.css,放置位置如圖,內(nèi)容如下

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline; }article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block; }body {line-height: 1; }ol, ul {list-style: none; }blockquote, q {quotes: none; }blockquote:before, blockquote:after, q:before, q:after {content: '';content: none; }table {border-collapse: collapse;border-spacing: 0; }.about {margin: 70px auto 40px;padding: 8px;width: 260px;font: 10px/18px 'Lucida Grande', Arial, sans-serif;color: #666;text-align: center;text-shadow: 0 1px rgba(255, 255, 255, 0.25);background: #eee;background: rgba(250, 250, 250, 0.8);border-radius: 4px;background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1));-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 6px rgba(0, 0, 0, 0.2);box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 6px rgba(0, 0, 0, 0.2); } .about a {color: #333;text-decoration: none;border-radius: 2px;-webkit-transition: background 0.1s;-moz-transition: background 0.1s;-o-transition: background 0.1s;transition: background 0.1s; } .about a:hover {text-decoration: none;background: #fafafa;background: rgba(255, 255, 255, 0.7); }.about-links {height: 30px; } .about-links > a {float: left;width: 50%;line-height: 30px;font-size: 12px; }.about-author {margin-top: 5px; } .about-author > a {padding: 1px 3px;margin: 0 -1px; }/** Copyright (c) 2012-2013 Thibaut Courouble* http://www.cssflow.com** Licensed under the MIT License:* http://www.opensource.org/licenses/mit-license.php*/ body {font: 13px/20px 'Lucida Grande', Tahoma, Verdana, sans-serif;color: #404040;background: #0ca3d2; }.container {margin: 245px auto;width: 640px; }.login {position: relative;margin: 0 auto;padding: 20px 20px 20px;width: 310px;background: white;border-radius: 3px;-webkit-box-shadow: 0 0 200px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.3);box-shadow: 0 0 200px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.3); } .login:before {content: '';position: absolute;top: -8px;right: -8px;bottom: -8px;left: -8px;z-index: -1;background: rgba(0, 0, 0, 0.08);border-radius: 4px; } .login h1 {margin: -20px -20px 21px;line-height: 40px;font-size: 15px;font-weight: bold;color: #555;text-align: center;text-shadow: 0 1px white;background: #f3f3f3;border-bottom: 1px solid #cfcfcf;border-radius: 3px 3px 0 0;background-image: -webkit-linear-gradient(top, whiteffd, #eef2f5);background-image: -moz-linear-gradient(top, whiteffd, #eef2f5);background-image: -o-linear-gradient(top, whiteffd, #eef2f5);background-image: linear-gradient(to bottom, whiteffd, #eef2f5);-webkit-box-shadow: 0 1px whitesmoke;box-shadow: 0 1px whitesmoke; } .login p {margin: 20px 0 0; } .login p:first-child {margin-top: 0; } .login input[type=text], .login input[type=password] {width: 278px; } .login .captcha{width: 206px!important; } .login p.remember_me {float: left;line-height: 31px; } .login p.remember_me label {font-size: 12px;color: #777;cursor: pointer; } .login p.remember_me input {position: relative;bottom: 1px;margin-right: 4px;vertical-align: middle; } .login p.submit {text-align: right; }.login-help {margin: 20px 0;font-size: 11px;color: white;text-align: center;text-shadow: 0 1px #2a85a1; } .login-help a {color: #cce7fa;text-decoration: none; } .login-help a:hover {text-decoration: underline; }:-moz-placeholder {color: #c9c9c9 !important;font-size: 13px; }::-webkit-input-placeholder {color: #ccc;font-size: 13px; }input {font-family: 'Lucida Grande', Tahoma, Verdana, sans-serif;font-size: 14px; }input[type=text], input[type=password] {margin: 5px;padding: 0 10px;width: 200px;height: 34px;color: #404040;background: white;border: 1px solid;border-color: #c4c4c4 #d1d1d1 #d4d4d4;border-radius: 2px;outline: 5px solid #eff4f7;-moz-outline-radius: 3px;-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12); } input[type=text]:focus, input[type=password]:focus {border-color: #7dc9e2;outline-color: #dceefc;outline-offset: 0; }input[type=submit] {padding: 0 18px;height: 29px;font-size: 12px;font-weight: bold;color: #527881;text-shadow: 0 1px #e3f1f1;background: #cde5ef;border: 1px solid;border-color: #b4ccce #b3c0c8 #9eb9c2;border-radius: 16px;outline: 0;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;background-image: -webkit-linear-gradient(top, #edf5f8, #cde5ef);background-image: -moz-linear-gradient(top, #edf5f8, #cde5ef);background-image: -o-linear-gradient(top, #edf5f8, #cde5ef);background-image: linear-gradient(to bottom, #edf5f8, #cde5ef);-webkit-box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.15);box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.15); } input[type=submit]:active {background: #cde5ef;border-color: #9eb9c2 #b3c0c8 #b4ccce;-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2); }.lt-ie9 input[type=text], .lt-ie9 input[type=password] {line-height: 34px; } .errors{color:red;margin:0px 3px; }
圖片:preview.png ?放置在根目錄的images文件夾下


總結(jié)

以上是生活随笔為你收集整理的CAS单点登录3--服务端登录页个性化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。