2010-04-19 19 views
7

Diciamo che abbiamo un sito Web che utilizza un servizio Web per tutte le sue funzionalità (ovvero il recupero e l'aggiornamento dei dati da/verso db), in che modo il servizio Web autentica le richieste?Sicurezza e autenticazione nei servizi Web

Come ho capito, in un "sito Web" java tradizionale, un utente fornisce un nome utente & password e, in seguito alla convalida, all'utente viene assegnato un jsessionid (browser client). Ogni volta che il browser del client chiede al sito qualcosa, il sito verifica la presenza di jsessionid assicurando che l'utente sia registrato e autenticato. C'è un servizio web equivalente a questo? Se si, cosa?

risposta

5

In genere per i servizi Web la soluzione più semplice è l'autenticazione di base. Per qualcosa di più complesso, "Api Key \ Token" viene passato con ogni richiesta per autorizzare \ autenticare gli utenti. Un'altra soluzione è OAuth.

Twitter ad esempio utilizza l'autenticazione di base e OAuth.

1

Il tuo servizio web ha anche bisogno di essere accessibile pubblicamente?

Potrebbe non essere necessario preoccuparsi di complicati schemi di autenticazione se non c'è motivo di consentire al traffico pubblico di raggiungere anche il servizio web.

+0

Anche se non sono disponibili "pubblicamente" esattamente, ci sono un paio di situazioni che potrebbero essere problemi di sicurezza. Ad esempio, diciamo che il sito web utilizza javascript (cioè dwr) o flex apps per comunicare direttamente con il servizio web, piuttosto che attraverso il sito web. Mentre il servizio non è "pubblicamente" disponibile, un utente decente può capire dal javascript o flettere come minimo l'indirizzo del servizio web e cercare di usare male tali informazioni. Questo è il problema di cui sono curioso. – King

+0

Poiché JavaScript e Flex sono applicazioni eseguite sul client, ciò significherebbe che il tuo servizio web * è * pubblicamente disponibile. –

Problemi correlati