Пружина безопасности Grails, как установить основной вручную - PullRequest
2 голосов
/ 19 февраля 2011

Привет, я пытаюсь войти в Facebook в приложении Grails, у меня проблема в том, что когда пользователь вошел в Facebook, Spring Security Core не распознает его, как я могу установить принципал пользователя вручную?Я могу искать объект пользователя, но я не знаю, как установить его, чтобы получить истинного пользователя, когда я вызываю getAuthenticatedUser () (теперь он возвращает нулевой объект)

Заранее спасибо, С уважением

1 Ответ

4 голосов
/ 19 февраля 2011

Не могу ничего сказать о Facebook, но у Spring Security есть SecurityContextHolder , который можно использовать для управления аутентификацией (и, следовательно, основной), например:

import org.springframework.security.core.context.SecurityContextHolder as SCH
import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken


....
def securityContext = SCH.context
def principal = <whatever you use as principal>
def credentials = <...>
securityContext.authentication = new PreAuthenticatedAuthenticationToken(principal, credentials) 

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

...