Для отображения значения приятно можно использовать печать модуль. Самый легкий способ вывести все переменные с ним состоит в том, чтобы сделать
from pprint import pprint
pprint(globals())
pprint(locals())
, Если Вы работаете в CGI, полезная функция отладки модуль cgitb , который отображает значение локальных переменных как часть traceback.
Если вы получаете код 403, это означает, что у пользователя нет необходимых ролей. Итак, проблема не в аутентификации, а в авторизации.
Единственный способ узнать, что происходит, - поставить уровень ведения журнала для отладки, там должно быть больше информации. Разместите здесь.
Есть ли у ваших ролей префикс "ROLE_"?
... разобрался. Несмотря на то, что ROLE_TEST указан в конфигурационном файле и то же самое в столбце 'Authority' базы данных, Spring-Sec ожидал ROLE_SUPERVISOR:
[DEBUG,AbstractSecurityInterceptor,http-8084-7] Secure object: FilterInvocation: URL: /admin/test.jsp; ConfigAttributes: [ROLE_TEST] [DEBUG,AbstractSecurityInterceptor,http-8084-7] Previously Authenticated: org.springframework.security.providers.UsernamePasswordAuthenticationToken@af840ed7: Principal: org.springframework.security.userdetails.User@3ec100: Username: testUser; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_SUPERVISOR; Password: [PROTECTED]; Authenticated: true; Details: org.springframework.security.ui.WebAuthenticationDetails@1c07a: RemoteIpAddress: 127.0.0.1; SessionId: 350B260FAFDDBF04D5CB4AAAB7B8A441; Granted Authorities: ROLE_SUPERVISOR [DEBUG,ExceptionTranslationFilter,http-8084-7] Access is denied (user is not anonymous); delegating to AccessDeniedHandler org.springframework.security.AccessDeniedException: Access is denied at org.springframework.security.vote.AffirmativeBased.decide(AffirmativeBased.java:68)
... теперь мне любопытно, почему? Итак, после изменения ROLE_TEST на ROLE_SUPERVISOR в файле конфигурации все заработало, как ожидалось.