Para os Ases do JAAS

2 respostas
silvars

Galera…

Seguinte… Quero utilizar o jar para autenticar um SEVLET. Porém… Minha tabela de usuários possui várias chaves primarias e eu preciso que algumas delas venham pela URL…

O usuário acessa a seguinte URL: (http://192.168.0.167:8080/webticket/WebticketLogin?empresa=PRO&regional=PRO&filial=PRO&servico=WEBTICKET&cliente=PRO) preciso recuperar esses parametros ai para autenticar o cara (junto com o USERNAME e SENHA) que já vem por padrão no NameCallback e PasswordCallback.

É possivel?

Ahguardo retorno, se possivel.

Att,
Rodrigo

2 Respostas

P

Uma “solução de engenharia” (a.k.a gambi) para o seu caso usando form-based login seria a seguinte:

Ao acessar a url com os parâmetros, vc. salva-os na sessão e manda um redirect para um recurso protegido.

Quando o browser for acessar este recurso protegido, receberá como resposta a página de login configurada no web.xml.

Vc. deve construir esta página de login de forma a incluir no form campos hidden que correspondem aos campos da sua chave composta (empresa, regional e o que mais for necessário).

Use um javascript na página para que o campo j_username receba um string montado a partir da concatenação dos campos da sua chave, usando um separador qualquer ("-",pex).

Desta forma, o usuário que será validado será uma linguiça, mas um parâmetro só. Na query que faz o lookup do usuário na sua base, use a mesma regra de concatenação para comparar os valores. Deve ficar algo assim:

select usuario.password from usuario join empresa on (usuario.empresa_fk = empresa.id ) where
concat(usuario.login,’-’,empresa.id) = ?

Deu para pegar a idéia ?

silvars

A idéia deu… Até pensei em fazer isso…

Mas eu queria me livrar da pagina de LOGIN, quero usar BASIC…

Bom… A idéia foi boa. Vou ver o que faço.

Muito obrigado amigo.

Att,
Rodrigo

Criado 8 de maio de 2008
Ultima resposta 9 de mai. de 2008
Respostas 2
Participantes 2