2015-08-21 91 views
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 &#8211; 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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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&amp;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 &copy; 2005&ndash;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> 


> 

回答

0

你提出什麼問題也不是那麼清楚,我,任何如何我只是想分享一些建議,首先我們需要發送用戶名和密碼給我們的(實際或父母)應用程序,它們將重定向(使用CAS客戶端)到cas服務器以及serviceId和Ticket,CAS服務器將對其進行身份驗證,並返回AuthenticatedId。我們必須在應用程序級別和CAS服務器級別使用相同的https證書,那麼只有它纔會接受請求。

+0

對於服務驗證,客戶端應該去CAS服務器生成的服務驗證URL來驗證,但問題是服務器總是重定向到它的登錄頁面,但不通過它的servicevaliate控制器驗證服務。我不知道爲什麼... –

+0

問題已解決,謝謝。 –

+0

如果它在工作,我可以知道修復嗎? –