Domanda

Noi distribuiamo il nostro web-application per i nostri clienti in un file .war. In questo modo, l'utente può semplicemente distribuire la guerra per loro contenitore e loro sono a posto. Il problema è che alcuni dei nostri clienti vorrebbero l'autenticazione, e utilizzare il nome utente come parametro per alcune operazioni all'interno dell'applicazione.

so come configurare questo utilizzando web.xml, ma ciò significherebbe che sia necessario dire ai nostri clienti di hack in giro nel file di guerra, o distribuire 2 guerre separati; uno con l'autenticazione (e ruoli predefiniti), una senza.

Anche io non voglio forzare l'autenticazione sui nostri clienti, perché ciò richiederebbe una maggiore conoscenza contenitori Java e server web in generale, e rendere più difficile a prendere solo la nostra applicazione per un test drive.

C'è un modo per fare la configurazione di autenticazione nel contenitore, piuttosto che nel web-app in sé?

È stato utile?

Soluzione

In web.xml, definiscono vincoli di sicurezza per legare le collezioni di risorse web ai ruoli J2EE e una configurazione di accesso (sia per i clienti che vogliono il controllo di accesso ad alcune delle risorse della vostra applicazione).

Poi, lasciare che i clienti si legano ruoli J2EE definiti nel vostro web app per gruppi di utenti specifici utenti ans gruppi definiti sui loro server app. I clienti che non vogliono alcun controllo di accesso può legare tutti i ruoli a utenti non autorizzati (nome di quel gruppo di utenti è specifico per appserver, per esempio Websphere chiama che 'Everyone'). I clienti che vogliono limitare l'accesso a una risorsa (s) nel tuo webapp per un numero limitato di utenti o di un gruppo di utenti può farlo legandosi i ruoli di utenti / gruppi per la loro bisogni.

Se è necessaria l'autenticazione per verificare l'appartenenza dell'utente in un ruolo, quindi verrà utilizzato il metodo di autenticazione specificato nel login config nella vostra web.xml.

Altri suggerimenti

E 'pratica comune per avere le informazioni utente memorizzate in es un'origine dati (database). Avere l'applicazione utilizza la stessa origine dati per l'autenticazione. I database sono relativamente facili da mantenere. È anche possibile implementare alcune pagine di amministrazione per mantenere le informazioni dell'utente dall'interno dell'applicazione.

Molti contenitori, come Glassfish, forniscono il supporto per JDBC regni. In questo caso è possibile configurare l'accesso (ad esempio, in web.xml) per i gruppi, e lasciare che il cliente di configurare nomi utente, password e appartenenze a gruppi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top