Наше весеннее загрузочное веб-приложение использует аутентификацию CAS. Мы проходим проверку безопасности, и в одном из тестовых случаев был выполнен вход с недействительным билетом CAS. Тестовый случай был: "/ Logon? Blockbanner = true & ticket = ST-3582-f3sADdmKlq"
Поскольку этот билет недействителен, CAS выдал предупреждение (см. Ниже), и в результате Http 500, который команда безопасности нам не удалось.
Я попытался перехватить эту строку в нашей весенней конфигурации безопасности:
.regexMatchers(".+blockbanner=true.+").denyAll()
Однако, если мы войдем в систему в обычном режиме и вернусь действительный билет, мы не сможем попасть внутрь приложение! Спасибо!
CAS предупреждение
020-04-17 11:22:26,913 WARN o.j.c.c.v.Saml11TicketValidationFilter[AbstractTicketValidationFilter.java:189] doFilter: org.jasig.cas.client.validation.TicketValidationException: org.opensaml.SAMLException: ticket 'ST-155-g1lYXqTfB0xAOAp2RrU7-tecs_cas_sat' not recognized
org.jasig.cas.client.validation.TicketValidationException: org.opensaml.SAMLException: ticket 'ST-155-g1lYXqTfB0xAOAp2RrU7-tecs_cas_sat' not recognized
at org.jasig.cas.client.validation.Saml11TicketValidator.parseResponseFromServer(Saml11TicketValidator.java:115)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:217)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:169)