Протестируйте реального пользователя (в отличие от switchUser) в Spring Security staticRules

В своих проектах Grails я использую функцию переключения пользователей (ограниченную ROLE_ADMIN пользователями) для тестирования приложения, симулируя различных пользователей.

У меня также есть веб-консоль, доступ к которой ограничен администраторами:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
    ...
    "/console/**": ["ROLE_ADMIN"],
    "/plugins/console*/**": ["ROLE_ADMIN"],
    ...
]

Но пока я имитирую другого пользователя, мой доступ к консоли аннулируется.

Как я могу изменить эти два статических правила, чтобы они проверяли роль (или имя пользователя) реального пользователя, а не олицетворяемого?


person Tobia    schedule 18.09.2015    source источник


Ответы (1)


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

См. этот пост о том, как настроить пользовательские роли для олицетворяемых пользователей. http://beckje01.com/blog/2015/04/18/springsecurity-impersonate-users-custom-roles/

person Jeff Beck    schedule 18.09.2015
comment
Спасибо, но я определенно не хочу добавлять ложные роли олицетворяемым пользователям, иначе тесты, которые я провожу с их использованием, будут бесполезны! - person Tobia; 18.09.2015