Depois de autenticar o Spring Security mantém as credenciais do usuário em um contexto (na memória durante algum tempo). Dessa forma caso necessário podemos solicitar informações do usuário para o framework.
O componente SecurityContextHolder é responsável por esse trabalho. Por padrão ele está vinculado ao ThreadLocal, na web ele mantém os dados enquanto a requisição é processada.
Mas para aplicativos Swing, o uso do ThreadLocal não é a solução indicada, visto que componentes do framework trabalham com threads. Nesse caso devemos configurar o Spring Security para usar a estratégia de armazenamento global através de SecurityContextHolder.MODE_GLOBAL. No startup da aplicação, em um bloco static por exemplo, você pode definir essa forma de armazenamento:
static { SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL); }
[]s
@edermag
http://www.yaw.com.br/
No comments:
Post a Comment