0
** cas應用程序獲得服務票證後,cas服務器重定向到帶有票據的服務,然後客戶端生成服務驗證以獲取來自服務器的響應。無法驗證來自CAS服務器的服務,它總是重定向到CAS服務器登錄頁面
問題是我的客戶端無法訪問該服務驗證url,而是重定向到cas服務器url。這意味着客戶會得到,而不是XML響應所以沒有本金會發現服務器中的HTML響應。**
=========================================================================
Logs:
2015-08-21 16:34:22,610 DEBUG [org.springframework.security.cas.authentication.CasAuthenticationProvider] - <serviceUrl = https://localhost/spring-cas/login/cas>
2015-08-21 16:34:22,610 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Placing URL parameters in map.>
2015-08-21 16:34:22,611 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Calling template URL attribute map.>
2015-08-21 16:34:22,611 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Loading custom parameters from configuration.>
2015-08-21 16:34:22,611 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Constructing validation url: https://localhost/cas/serviceValidate?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas>
2015-08-21 16:34:22,611 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Retrieving response from server.>
2015-08-21 16:34:22,681 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <DispatcherServlet with name 'cas' processing GET request for [/login]>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandlerMapping] - <Mapping request with URI '/login' to flow with id 'login'>
2015-08-21 16:34:22,681 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <Last-Modified value for [/login] is: -1>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.executor.FlowExecutorImpl] - <Launching new execution of flow 'login' with input map['service' -> 'https://localhost/spring-cas/login/cas', 'ticket' -> 'ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org']>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl] - <Getting FlowDefinition with id 'login'>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImplFactory] - <Creating new execution of 'login'>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.execution.factory.ConditionalFlowExecutionListenerLoader] - <Loaded [1] of possible 1 listeners for this execution request for flow 'login', the listeners to attach are list[[email protected]]>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Starting in [email protected]635 with input map['service' -> 'https://localhost/spring-cas/login/cas', 'ticket' -> 'ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org']>
2015-08-21 16:34:22,681 DEBUG [org.springframework.webflow.engine.Flow] - <Creating [[email protected] name = 'credential', valueFactory = [[email protected] type = UsernamePasswordCredential]]>
2015-08-21 16:34:22,681 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Creating instance of bean 'org.jasig.cas.authentication.UsernamePasswordCredential'>
2015-08-21 16:34:22,682 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Finished creating instance of bean 'org.jasig.cas.authentication.UsernamePasswordCredential'>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [[email protected] expression = initialFlowSetupAction, resultExpression = [null]]>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Putting action execution attributes map[[empty]]>
2015-08-21 16:34:22,682 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Returning cached instance of singleton bean 'initialFlowSetupAction'>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [email protected]>
2015-08-21 16:34:22,682 DEBUG [org.jasig.cas.web.support.CasArgumentExtractor] - <Extractor generated service for: https://localhost/spring-cas/login/cas>
2015-08-21 16:34:22,682 DEBUG [org.jasig.cas.web.flow.InitialFlowSetupAction] - <Placing service in FlowScope: https://localhost/spring-cas/login/cas>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [email protected]; result = success>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Clearing action execution attributes map[[empty]]>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [[email protected] expression = initialFlowSetupAction, resultExpression = [null]]; result = success>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.engine.ActionState] - <Entering state 'ticketGrantingTicketCheck' of flow 'login'>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [[email protected] expression = ticketGrantingTicketCheckAction.checkValidity(flowRequestContext), resultExpression = [null]]>
2015-08-21 16:34:22,682 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Putting action execution attributes map[[empty]]>
2015-08-21 16:34:22,682 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Returning cached instance of singleton bean 'ticketGrantingTicketCheckAction'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Clearing action execution attributes map[[empty]]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [[email protected] expression = ticketGrantingTicketCheckAction.checkValidity(flowRequestContext), resultExpression = [null]]; result = notExists>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.Transition] - <Executing [[email protected] on = notExists, to = gatewayRequestCheck]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.Transition] - <Exiting state 'ticketGrantingTicketCheck'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.DecisionState] - <Entering state 'gatewayRequestCheck' of flow 'login'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.Transition] - <Executing [[email protected] on = *, to = serviceAuthorizationCheck]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.Transition] - <Exiting state 'gatewayRequestCheck'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.engine.ActionState] - <Entering state 'serviceAuthorizationCheck' of flow 'login'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [[email protected] expression = serviceAuthorizationCheck, resultExpression = [null]]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Putting action execution attributes map[[empty]]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Returning cached instance of singleton bean 'serviceAuthorizationCheck'>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [email protected]>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [email protected]; result = success>
2015-08-21 16:34:22,683 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Clearing action execution attributes map[[empty]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [[email protected] expression = serviceAuthorizationCheck, resultExpression = [null]]; result = success>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.Transition] - <Executing [[email protected] on = *, to = generateLoginTicket]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.Transition] - <Exiting state 'serviceAuthorizationCheck'>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.ActionState] - <Entering state 'generateLoginTicket' of flow 'login'>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [[email protected] expression = generateLoginTicketAction.generate(flowRequestContext), resultExpression = [null]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Putting action execution attributes map[[empty]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - <Returning cached instance of singleton bean 'generateLoginTicketAction'>
2015-08-21 16:34:22,684 DEBUG [org.jasig.cas.web.flow.GenerateLoginTicketAction] - <Generated login ticket LT-3-rE1DVbEXOgxDMeLVe5LtdtDfDPVN75-cas01.example.org>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Clearing action execution attributes map[[empty]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [[email protected] expression = generateLoginTicketAction.generate(flowRequestContext), resultExpression = [null]]; result = generated>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.Transition] - <Executing [[email protected] on = generated, to = viewLoginForm]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.Transition] - <Exiting state 'generateLoginTicket'>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.engine.ViewState] - <Entering state 'viewLoginForm' of flow 'login'>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Executing [[email protected] name = viewScope.commandName, value = 'credential']>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Putting action execution attributes map[[empty]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.AnnotatedAction] - <Clearing action execution attributes map[[empty]]>
2015-08-21 16:34:22,684 DEBUG [org.springframework.webflow.execution.ActionExecutor] - <Finished executing [[email protected] name = viewScope.commandName, value = 'credential']; result = success>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Putting conversation attribute 'name' with value login>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Putting conversation attribute 'caption' with value null>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Putting conversation attribute 'description' with value null>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Putting conversation attribute 'flowExecutionSnapshotGroup' with value org.springframework.web[email protected]4edccdb9>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Assigned key e1s1>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.engine.ViewState] - <Rendering + [[email protected] view = org.springframework.web.servlet.view.JstlView: name 'casLoginView'; URL [/WEB-INF/view/jsp/default/ui/casLoginView.jsp]]>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.engine.ViewState] - < Flash scope = map[[empty]]>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.engine.ViewState] - < Messages = [[email protected] sourceMessages = map[[null] -> list[[empty]]]]>
2015-08-21 16:34:22,685 DEBUG [org.springframework.webflow.mvc.view.AbstractMvcView] - <Rendering MVC [org.springframework.web.servlet.view.JstlView: name 'casLoginView'; URL [/WEB-INF/view/jsp/default/ui/casLoginView.jsp]] with model map [{flowRequestContext=[[email protected] externalContext = [email protected]635, currentEvent = generated, requestScope = map[[empty]], attributes = map[[empty]], messageContext = [[email protected] sourceMessages = map[[null] -> list[[empty]]]], flowExecution = [[email protected] flow = 'login', flowSessions = list[[[email protected] flow = 'login', state = 'viewLoginForm', scope = map['loginTicket' -> 'LT-3-rE1DVbEXOgxDMeLVe5LtdtDfDPVN75-cas01.example.org', 'service' -> https://localhost/spring-cas/login/cas, 'warnCookieValue' -> false, 'ticketGrantingTicketId' -> [null], 'credential' -> null+password, 'viewScope' -> map['commandName' -> 'credential']]]]]], flashScope=map[[empty]], org.springframework.validation.BindingResult.credential=org.springframework.webflow.mvc.view.BindingModel: 0 errors, currentUser=null, loginTicket=LT-3-rE1DVbEXOgxDMeLVe5LtdtDfDPVN75-cas01.example.org, service=https://localhost/spring-cas/login/cas, commandName=credential, flowExecutionKey=e1s1, warnCookieValue=false, flowExecutionUrl=/login;jsessionid=C905A5283738DA68A18E4C78C0D68A81?ticket=%5BLjava.lang.String%3B%405e387248&service=%5BLjava.lang.String%3B%404bd7054b&execution=e1s1, credential=null+password, ticketGrantingTicketId=null, viewScope=map['commandName' -> 'credential']}]>
2015-08-21 16:34:22,685 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'flowRequestContext' of type [org.springframework.webflow.engine.impl.RequestControlContextImpl] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'flashScope' of type [org.springframework.webflow.core.collection.LocalAttributeMap] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'org.springframework.validation.BindingResult.credential' of type [org.springframework.webflow.mvc.view.BindingModel] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Removed model object 'currentUser' from request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'loginTicket' of type [java.lang.String] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'service' of type [org.jasig.cas.authentication.principal.SimpleWebApplicationServiceImpl] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'commandName' of type [java.lang.String] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'flowExecutionKey' of type [java.lang.String] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'warnCookieValue' of type [java.lang.Boolean] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'flowExecutionUrl' of type [java.lang.String] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'credential' of type [org.jasig.cas.authentication.UsernamePasswordCredential] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Removed model object 'ticketGrantingTicketId' from request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Added model object 'viewScope' of type [org.springframework.webflow.core.collection.LocalAttributeMap] to request in view with name 'casLoginView'>
2015-08-21 16:34:22,686 DEBUG [org.springframework.web.servlet.view.JstlView] - <Forwarding to resource [/WEB-INF/view/jsp/default/ui/casLoginView.jsp] in InternalResourceView 'casLoginView'>
2015-08-21 16:34:22,687 DEBUG [org.jasig.cas.web.support.CasArgumentExtractor] - <Extractor generated service for: https://localhost/spring-cas/login/cas>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.engine.Transition] - <Completed transition execution. As a result, the new state is 'viewLoginForm' in flow 'login'>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.engine.Transition] - <Completed transition execution. As a result, the new state is 'viewLoginForm' in flow 'login'>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.engine.Transition] - <Completed transition execution. As a result, the new state is 'viewLoginForm' in flow 'login'>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.engine.Transition] - <Completed transition execution. As a result, the new state is 'viewLoginForm' in flow 'login'>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Locking conversation 1>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository] - <Putting flow execution '[[email protected] flow = 'login', flowSessions = list[[[email protected] flow = 'login', state = 'viewLoginForm', scope = map['loginTicket' -> 'LT-3-rE1DVbEXOgxDMeLVe5LtdtDfDPVN75-cas01.example.org', 'service' -> https://localhost/spring-cas/login/cas, 'warnCookieValue' -> false, 'ticketGrantingTicketId' -> [null], 'credential' -> null+password, 'viewScope' -> map['commandName' -> 'credential']]]]]' into repository>
2015-08-21 16:34:22,690 DEBUG [org.springframework.webflow.execution.repository.impl.DefaultFlowExecutionRepository] - <Adding snapshot to group with id 1>
2015-08-21 16:34:22,691 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Putting conversation attribute 'scope' with value map['flashScope' -> map['messagesMemento' -> map[[empty]]]]>
2015-08-21 16:34:22,691 DEBUG [org.springframework.webflow.conversation.impl.SessionBindingConversationManager] - <Unlocking conversation 1>
2015-08-21 16:34:22,691 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <Null ModelAndView returned to DispatcherServlet with name 'cas': assuming HandlerAdapter completed request handling>
2015-08-21 16:34:22,691 DEBUG [org.springframework.web.servlet.DispatcherServlet] - <Successfully completed request>
2015-08-21 16:34:22,696 DEBUG [org.jasig.cas.client.validation.Cas20ServiceTicketValidator] - <Server response:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>CAS – Central Authentication Service</title>
<link rel="stylesheet" href="/css/cas.css;jsessionid=C905A5283738DA68A18E4C78C0D68A81" />
<link rel="icon" href="/favicon.ico;jsessionid=C905A5283738DA68A18E4C78C0D68A81" type="image/x-icon" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.1/html5shiv.js" type="text/javascript"></script>
<![endif]-->
</head>
<body id="cas">
<div id="container">
<header>
<a id="logo" href="http://www.jasig.org" title="go to Jasig home page">Jasig</a>
<h1>Central Authentication Service (CAS)</h1>
</header>
<div id="content">
<div class="box" id="login">
<form id="fm1" action="/login;jsessionid=C905A5283738DA68A18E4C78C0D68A81?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas" method="post">
<h2>Enter your Username and Password</h2>
<section class="row">
<label for="username"><span class="accesskey">U</span>sername:</label>
<input id="username" name="username" class="required" tabindex="1" accesskey="u" type="text" value="" size="25" autocomplete="off"/>
</section>
<section class="row">
<label for="password"><span class="accesskey">P</span>assword:</label>
<input id="password" name="password" class="required" tabindex="2" accesskey="p" type="password" value="" size="25" autocomplete="off"/>
</section>
<section class="row check">
<input id="warn" name="warn" value="true" tabindex="3" accesskey="w" type="checkbox" />
<label for="warn"><span class="accesskey">W</span>arn me before logging me into other sites.</label>
</section>
<section class="row btn-row">
<input type="hidden" name="lt" value="LT-3-rE1DVbEXOgxDMeLVe5LtdtDfDPVN75-cas01.example.org" />
<input type="hidden" name="execution" value="e1s1" />
<input type="hidden" name="_eventId" value="submit" />
<input class="btn-submit" name="submit" accesskey="l" value="LOGIN" tabindex="4" type="submit" />
<input class="btn-reset" name="reset" accesskey="c" value="CLEAR" tabindex="5" type="reset" />
</section>
</form>
</div>
<div id="sidebar">
<div class="sidebar-content">
<p>For security reasons, please Log Out and Exit your web browser when you are done accessing services that require authentication!</p>
<div id="list-languages">
<h3>Languages:</h3>
<ul>
<li class="first"><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=en">English</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=es">Spanish</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=fr">French</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=ru">Russian</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=nl">Nederlands</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=sv">Svenska</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=it">Italiano</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=ur">Urdu</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=zh_CN">Chinese (Simplified)</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=zh_TW">Chinese (Traditional)</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=de">Deutsch</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=ja">Japanese</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=hr">Croatian</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=cs">Czech</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=sl">Slovenian</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=ca">Catalan</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=mk">Macedonian</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=fa">Farsi</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=ar">Arabic</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=pt_PT">Portuguese</a></li>
<li><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=pt_BR">Portuguese (Brazil)</a></li>
<li class="last"><a href="login?ticket=ST-1-fQ3f56nLJkjS54aeQgd9-cas01.example.org&service=https%3A%2F%2Flocalhost%2Fspring-cas%2Flogin%2Fcas&locale=pl">Polish</a></li>
</ul>
</div>
</div>
</div>
</div> <!-- END #content -->
<footer>
<div id="copyright">
<p>Copyright © 2005–2012 Jasig, Inc. All rights reserved.</p>
<p>Powered by <a href="http://www.jasig.org/cas">Jasig Central Authentication Service 4.0.4</a></p>
</div>
</footer>
</div> <!-- END #container -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js"></script>
<script type="text/javascript" src="/js/cas.js;jsessionid=C905A5283738DA68A18E4C78C0D68A81"></script>
</body>
</html>
>
對於服務驗證,客戶端應該去CAS服務器生成的服務驗證URL來驗證,但問題是服務器總是重定向到它的登錄頁面,但不通過它的servicevaliate控制器驗證服務。我不知道爲什麼... –
問題已解決,謝謝。 –
如果它在工作,我可以知道修復嗎? –