1.客户端
html代码
<
head
>
<
meta
charset
=
"utf-8"
>
<
title
></
title
>
</
head
>
<
script
data-main
=
"script/main"
src
=
"script/require.js"
></
script
>
<
script
type
=
"text/javascript"
>
var v = + +new Date;
v = '1.0';
requirejs.config({
urlArgs: "v=" + v,
});
function login(){
console.log("*****************登陆调用****************")
}
</
script
>
<
body
entryJS
=
"cas"
>
<
form
action
=
"<a href="http://192.168.1.109:8080/cas/login?action=ajaxSubmit&loginFailURL=http://127.0.0.1:8080/svg/loginBackCall.html" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://192.168.1.109:8080/cas/login?action=ajaxSubmit&loginFailURL=http://127.0.0.1:8080/svg/loginBackCall.html"
name
=
"form1"
method
=
"post"
id
=
"loginForm"
target
=
"myIframe"
>
<
input
type
=
"text"
name
=
"username"
value
=
"casuser"
placeholder
=
"用户名"
class
=
"user"
id
=
"user_login"
>
<
input
type
=
"password"
name
=
"password"
value
=
"Mellon"
placeholder
=
"密码"
class
=
"pwd"
id
=
"pwd_login"
>
<
button
id
=
"submit_login"
>登陆</
button
>
<
input
type
=
"text"
name
=
"lt"
id
=
"lt"
value
=
""
/>
<
input
type
=
"text"
name
=
"execution"
id
=
"execution"
value
=
""
/>
<
input
type
=
"text"
name
=
"_eventId"
value
=
"submit"
/>
</
form
>
<
iframe
src
=
"javasscript:void(0);"
id
=
"myIframe"
name
=
"myIframe"
></
iframe
>
</
body
>
</
html
>
|
js代码
run:
function
() {
$(
"#submit_login"
).click(
function
(){
$.getJSON(
"<a href="http://192.168.1.109:8080/cas/login?action=getlt&callback=?&service=http://127.0.0.1:8080/svg" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://192.168.1.109:8080/cas/login?action=getlt&callback=?&service=http://127.0.0.1:8080/svg"
,
function
(data) {
$(
"#execution"
).val(data.execution);
log.log($(
"#execution"
).val());
$(
"#lt"
).val(data.lt);
$(
"#loginForm"
).submit();
});
});
}
|
2.客户端修改casLoginView.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="<a href="http://java.sun.com/jsp/jstl/core" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="<a href="http://www.springframework.org/tags" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="<a href="http://www.springframework.org/tags/form" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="<a href="http://java.sun.com/jsp/jstl/functions" "="" style="color: rgb(50, 108, 166); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: auto !important; background: none !important;">http://java.sun.com/jsp/jstl/functions" %>
<
c:choose
>
<
c:when
test
=
"${param.action !=null && param.action == 'getlt'}"
>
<%
String action = request.getParameter("action");
String callbackName = request.getParameter("callback");
String jsonData = "{\"lt\":\"" + request.getAttribute("loginTicket") + "\", \"execution\":\"" + request.getAttribute("flowExecutionKey") + "\"}";
String jsonp = callbackName + "(" + jsonData + ")";
response.setContentType("application/javascript");
response.getWriter().write(jsonp);
%>
</
c:when
>
<
c:when
test
=
"${param.action !=null && param.action == 'ajaxSubmit'}"
>
<
div
id
=
"msg"
>
<
c:forEach
var
=
"cook"
items
=
"${flowRequestContext.messageContext.allMessages}"
>
${cook.text}
</
c:forEach
>
</
div
>
<
script
type
=
"text/javascript"
>
var msgObj = document.getElementById("msg");
var myMsg = msgObj.innerText;
var url ="${param.loginFailURL}?tag=0&msg="+myMsg
window.location.href=url;
</
script
>
<!--
String action = request.getParameter("action");
String callbackName = request.getParameter("callback");
String jsonData = "{\"lt\":\"" + request.getAttribute("loginTicket") + "\", \"execution\":\"" + request.getAttribute("flowExecutionKey") + "\"}";
String jsonp = callbackName + "(" + jsonData + ")";
response.setContentType("application/javascript");
response.getWriter().write(jsonp);
-->
</
c:when
>
<
c:otherwise
>
<
jsp:directive.include
file
=
"includes/top.jsp"
/>
<!--
${flowRequestContext}
//
${flowRequestContext.messageContext}
//
<br/>
<c:forEach var="cook" items="${flowRequestContext.messageContext.allMessages}">
${cook.text}
</c:forEach>
-->
<
div
class
=
"box"
id
=
"login"
>
<
form:form
method
=
"post"
id
=
"fm1"
commandName
=
"${commandName}"
htmlEscape
=
"true"
>
<
form:errors
path
=
"*"
id
=
"msg"
cssClass
=
"errors"
element
=
"div"
htmlEscape
=
"false"
/>
<
h2
><
spring:message
code
=
"screen.welcome.instructions"
/></
h2
>
<
section
class
=
"row"
>
<
label
for
=
"username"
><
spring:message
code
=
"screen.welcome.label.netid"
/></
label
>
<
c:choose
>
<
c:when
test
=
"${not empty sessionScope.openIdLocalId}"
>
<
strong
><
c:out
value
=
"${sessionScope.openIdLocalId}"
/></
strong
>
<
input
type
=
"hidden"
id
=
"username"
name
=
"username"
value
=
"<c:out value="
${sessionScope.openIdLocalId}" />" />
</
c:when
>
<
c:otherwise
>
<
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
=
"off"
htmlEscape
=
"true"
/>
</
c:otherwise
>
</
c:choose
>
</
section
>
<
section
class
=
"row"
>
<
label
for
=
"password"
><
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:
--%>
<
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"
/>
<
span
id
=
"capslock-on"
style
=
"display:none;"
><
p
><
img
src
=
"images/warning.png"
valign
=
"top"
> <
spring:message
code
=
"screen.capslock.on"
/></
p
></
span
>
</
section
>
<!--
<section class="row check">
<p>
<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>
<br/>
<input id="publicWorkstation" name="publicWorkstation" value="false" tabindex="4" type="checkbox" />
<label for="publicWorkstation"><spring:message code="screen.welcome.label.publicstation" /></label>
<br/>
<input type="checkbox" name="rememberMe" id="rememberMe" value="true" tabindex="5" />
<label for="rememberMe"><spring:message code="screen.rememberme.checkbox.title" /></label>
</p>
</section>
-->
<
section
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="6" type="submit" />
<
input
class
=
"btn-reset"
name
=
"reset"
accesskey
=
"c"
value
=
"<spring:message code="
screen.welcome.button.clear" />" tabindex="7" type="reset" />
</
section
>
</
form:form
>
</
div
>
<
jsp:directive.include
file
=
"includes/bottom.jsp"
/>
</
c:otherwise
>
</
c:choose
>
|