há algum tempo, numa aplicação simples, por exigência do cliente, a autênticação do usuário foi configurada para ser feita pelo servidor de aplicação WebSphere.
mas hoje preciso das permissões dele, e me foi disponibilizada uma API (proprietária) que faz a validação do usuário (por nome de usuário e senha) e retorna essas permissões.
alguém sabe como faço para pegar a senha do usuário neste filtro?
ah! não tenho acesso a sites de busca para fazer uma pesquisa. maldita whitelist!
Eu sei que você pode pegar o login do usuário através do comandoSecurityAssociation.getPrincipal().getName();.
Com isso, você pode ir ao DB e fazer a consulta para buscar os dados dos usuários.
Eu imagino que seja desse modo pois com JAAS que também é um método de login JEE é feito assim.
wbdsjunior
o nome de usuário (login) até consigo pegar o com o camando ((HttpServletRequest) request).getRemoteUser();.
o problema é que não tenho acesso ao banco de dados. o acesso é feito pela API que que deram. esta API acessa um programa mainframe. nem sei se estas informações estam num banco de dados relacional.
E
entanglement
Pelo que imagino (mas não testei), dá para você pegar o http request, pegar o valor do cabeçalho “Authorization:” e ver se ele começa por “Basic”. Se começar, o valor em Base64 contém o usuário e senha em base-64.
No exemplo mostrado nessa página da Wikipedia (o valor em base-64 é “QWxhZGRpbjpvcGVuIHNlc2FtZQ==”), o resultado esperado é “Aladdin:open sesame”, ou seja, o usuário é “Aladdin” e a senha “open sesame”.
Pelo que imagino (mas não testei), dá para você pegar o http request, pegar o valor do cabeçalho “Authorization:” e ver se ele começa por “Basic”. Se começar, o valor em Base64 contém o usuário e senha em base-64.
No exemplo mostrado nessa página da Wikipedia (o valor em base-64 é “QWxhZGRpbjpvcGVuIHNlc2FtZQ==”), o resultado esperado é “Aladdin:open sesame”, ou seja, o usuário é “Aladdin” e a senha “open sesame”.
legal!
achei uns exemplos aqui, mas ainda não tive tempo para testar.
ainda não testei porque consegui contornar o problema.