Ошибка проверки билета службы CAS - PullRequest
8 голосов
/ 21 февраля 2012

Я перешел по ссылке http://lukesampson.com/post/315838839/cas-on-windows-localhost-setup-in-5-mins,, тогда сервер cas работает правильно, URL-адрес входа http://10.1.1.26:8080/login, URL-адрес подтверждения http://10.1.1.26:8080/serviceValidate.

Затем я протестировал его, как показано ниже:

  1. вызов http://10.1.1.26:8080/login?service=http://10.1.1.9:8081/default.aspx
  2. Я получаю билет на обслуживание, например ST-9-pJ5UDxqKIHP2zuN3JGe4-cas
  3. , затем я проверяю билет на обслуживание, вызываяhttp://10.1.1.26:8080/serviceValidate?ticket=ST-9-pJ5UDxqKIHP2zuN3JGe4-cas&service=http://10.1.1.9:8081/default.aspx,
  4. к сожалению, он всегда возвращает недействительный билет,

, чтобы исправить это, я пытаюсь cas 1.0 validate url, http://10.1.1.26:8080/validate?ticket=ST-9-pJ5UDxqKIHP2zuN3JGe4-cas&service=http://10.1.1.9:8081/default.aspx,, но он возвращает "нет".

Затем я сгенерировал файл сертификата и поместил его в хранилище ключей, затем я попробовал все вышеописанные шаги, используя https://10.1.1.26:8443, как бы то ни было, проверка все еще не прошла.

Iизменил конфигурацию cas log4j, чтобы распечатать всю отладочную информацию, и ниже находится журнал

2012-02-21 13:18:36,371 DEBUG [org.springframework.web.servlet.DispatcherServlet
] - <DispatcherServlet with name 'cas' processing GET request for [/cas-server-w
ebapp-3.4.11/serviceValidate]>
2012-02-21 13:18:36,381 DEBUG [org.springframework.webflow.mvc.servlet.FlowHandl
erMapping] - <No flow mapping found for request with URI '/cas-server-webapp-3.4
.11/serviceValidate'>
2012-02-21 13:18:36,381 DEBUG [org.springframework.web.servlet.handler.SimpleUrl
HandlerMapping] - <Mapping [/serviceValidate] to HandlerExecutionChain with hand
ler [org.jasig.cas.web.ServiceValidateController@302a4b] and 1 interceptor>
2012-02-21 13:18:36,381 DEBUG [org.springframework.web.servlet.DispatcherServlet
] - <Last-Modified value for [/cas-server-webapp-3.4.11/serviceValidate] is: -1>
2012-02-21 13:18:36,391 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] -
<ServiceTicket [ST-1-pqIeCRqcafGBE6idoCcd-cas] has expired.>
2012-02-21 13:18:36,391 INFO [com.github.inspektr.audit.support.Slf4jLoggingAudi
tTrailManager] - <Audit trail record BEGIN
=============================================================
WHO: audit:unknown
WHAT: ST-1-pqIeCRqcafGBE6idoCcd-cas
ACTION: SERVICE_TICKET_VALIDATE_FAILED
APPLICATION: CAS
WHEN: Tue Feb 21 13:18:36 EST 2012
CLIENT IP ADDRESS: 10.1.1.9
SERVER IP ADDRESS: 10.1.1.26
=============================================================

Что я не понимаю и не знаю, почему из другого поста, который я видел, в журнале есть что-то вроде «writeСервисный билет в реестр билетов, и получить сервисный билет ", но нет ничегооб этом в моем журнале

1 Ответ

19 голосов
/ 23 февраля 2012

Я не уверен на 100%, потому что я не вижу вашу конфигурацию, но в журнале написано это

<ServiceTicket [ST-1-pqIeCRqcafGBE6idoCcd-cas] has expired.>

Это означает, что срок действия билета уже истек. В CAS существует файл конфигурации с именем ticketExpirationPolicies.xml, в котором указано время действия билета. В моей CAS-версии срок действия билета на обслуживание установлен на 10000мс. Возможно, промежуток времени между шагами 1 и 3 больше, чем срок действия в вашем файле (конечно), который может отличаться от моего

<!-- Expiration policies -->
<bean id="serviceTicketExpirationPolicy" class="org.jasig.cas.ticket.support.MultiTimeUseOrTimeoutExpirationPolicy">
    <!-- This argument is the number of times that a ticket can be used before its considered expired. -->
    <constructor-arg
        index="0"
        value="1" />

    <!-- This argument is the time a ticket can exist before its considered expired.  -->
    <constructor-arg
        index="1"
        value="10000" />
</bean>

<bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy">
    <!-- This argument is the time a ticket can exist before its considered expired.  -->
    <constructor-arg
        index="0"
        value="7200000" />
</bean>

Учебное пособие, которое вы, по моему мнению, придерживаетесь, не является полным в настройках конфигурации. В зависимости от того, чего вы пытаетесь достичь с помощью этого CAS-сервера, вам могут потребоваться некоторые настройки, описанные здесь

...