2013-07-30 2 views
0

Я использую подход Cas overlay. Время от времени у меня возникают проблемы с попаданием в/cas/services/manage.Ошибка авторизации/услуги/управление

" Access Denied UsernameNotFoundException :: ааа "

Иногда это на самом деле позволяет мне. В deployerConfigContext.xml я объявил "ааа" пользователь.

<sec:user-service id="userDetailsService"> 
    <sec:user name="aaa" password="aaa" authorities="ROLE_ADMIN" /> 
</sec:user-service> 

Что может вызывать это непоследовательное поведение?

отрывок из бревен, показывая, что проверка подлинности прошло нормально

2013-07-31 11:53:05,332 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler successfully authenticated [username: aaa]> 
2013-07-31 11:53:05,333 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <Resolved principal aaa> 
2013-07-31 11:53:05,333 INFO [org.jasig.cas.authentication.AuthenticationManagerImpl] - <org.jasig.cas.authentication.[email protected]4b4bc1e authenticated aaa with credential [username: aaa].> 

ответ

0

Это звучит как пользователь aaa не доступен в вашей аутентификации Handler. Код XML, который вы предоставили, просто разрешает этому пользователю использовать эту услугу, он не позволяет этому пользователю аутентифицироваться в CAS.

Несоответствие может заключаться в том, что ваш аутентификационный обработчик (база данных/LDAP/в памяти для обозначения нескольких) недоступен во время аутентификации.

+0

Интересная мысль. Затем он вызывает другой вопрос. Почему аутентификационный обработчик [org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler в моем случае] доступен для другой защищенной страницы? –

+0

Если я читаю журналы справа https://gist.github.com/Alua-Kinzhebayeva/9f27aa1bc84126577e56, то org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler обрабатывает аутентификацию. –

+0

Хмм, я не понимаю, почему пользователь qq не аутентифицировался с паролем «qq». Если посмотреть на SimpleTestUsernamePasswordAuthentic ationHandler, единственный способ, которым он не будет аутентифицироваться, заключается в том, что имя пользователя и пароль не совпадают. 'если (StringUtils.hasText (имя пользователя) && StringUtils.hasText (пароль) && username.equals (getPasswordEncoder(). Кодируют (пароль))) { журнал .debug ("User [" + имя пользователя +" ] была успешно завершена. "); return true; } ' – wickdawg

Смежные вопросы