(Segurança WebService) Qual melhor maneira?

3 respostas
afffernando

Boa Tarde,
Estou fazendo meu primeiro WS profissionalmente, porem como em qualquer situação, uma transação web precisa de segurança.
Eu já vi diversas formas de fazer a segurança de um WS, porem não consegui descobrir qual delas é a melhor. Então eu vos pergunto qual destes métodos é o melhor?
O http request header recuperado atravez do MessageContext ou em um campo header dentro do xml recebido como o exemplo abaixo?

<s:envelope>
<s:header>
<password>123</password><username>321</username>
</s:header>
<s:body>
...
</s:body>

Caso alguem saiba uma forma melhor que estas, me avisa.

Grato
Fernando de Almeida

3 Respostas

paulo1911

olá amigo, de forma profissional eu uso o SpringSecurity com autenticação por Digest, é bem flexivel e fcil de lidar

a requisição soh chega no web service se for usuario autenticado e autorizado

leia sobre o Digest em JEE

fallow

afffernando

Eu pesquisei um pouco sobre este tal de digest, mas não sei se consegui entender o seu funcionamento.
somente para ver se entendi, seria feita a requisição pelo client, porem antes de enviar qualquer dado é feita a autenticação que acontece independente do WS, teria um popup onde seria digitado usuario e senha e utilizando este Digest estes dados seriam criptografados e enviados ao servidor, caso o usuario estivesse autenticado, dai sim o WS seria ativo e receberia as informações enviadas pelo usuario, e o XML de requisição nao precisaria de ter os dados de usuario e senha, pois ele já estaria logado no servidor.
É isso mesmo que eu entendi, ou não?
Pois se for isto mesmo, hoje a empresa já possui um sistema de segurança que faz a autenticação para os sistemas, eu só teria que fazer o usuario se logar neste sistema e então receber as informações? se for isto mesmo, ou se nao for mas for possivel fazer dessa forma, como é a melhor maneira para fazer este meio de caminho (a abertura do sistema de segurnça e a autenticação)?

Att.
Fernando de Almeida

paulo1911

Olá amigo, no caso do popup é opcional, vc pode usar qualqer form html, jsf, jsp… independe…

Você tb pode fazer a autenticação via código mesmo, com o HTTPClient da apache commons, vc consegue fazer get e post via linhas de código autenticar e verificar usuarios…tudo…

Se o sistema de autenticação é externo, vc pode implementar a autenticação do usuario no serviço de autenticação do SpringSecurity e assim adicionar o usuario autenticado no contexto de segurança do SpringSecurity…

Fica ai minha dica
Fallow

Criado 26 de outubro de 2011
Ultima resposta 27 de out. de 2011
Respostas 3
Participantes 2