403 - Доступ запрещен после аутентификации

Для отображения значения приятно можно использовать печать модуль. Самый легкий способ вывести все переменные с ним состоит в том, чтобы сделать

from pprint import pprint

pprint(globals())
pprint(locals())

, Если Вы работаете в CGI, полезная функция отладки модуль cgitb , который отображает значение локальных переменных как часть traceback.

20
задан Betlista 6 September 2012 в 12:42
поделиться

2 ответа

Если вы получаете код 403, это означает, что у пользователя нет необходимых ролей. Итак, проблема не в аутентификации, а в авторизации.
Единственный способ узнать, что происходит, - поставить уровень ведения журнала для отладки, там должно быть больше информации. Разместите здесь.
Есть ли у ваших ролей префикс "ROLE_"?

40
ответ дан 29 November 2019 в 23:44
поделиться

... разобрался. Несмотря на то, что 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 в файле конфигурации все заработало, как ожидалось.

2
ответ дан 29 November 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: