Comment implémenter le mécanisme d'authentification dans Java EE 6
J'essaie d'apprendre Java EE 6 et je me demande simplement comment implémenter le mécanisme d'authentification dans Java EE 6.
Voici l'exemple d'authentification Java EE 6:
public void login() {
if (account.authenticate(name, password) == null) {
message = "Invalid user name or password!";
} else {
message = " Login successful";
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
try {
request.login(this.name, this.password);
Principal principal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
name = principal.getName();
} catch (ServletException e) {
// Handle unknown username/password in request.login().
context.addMessage(null, new FacesMessage("Unknown login"));
}
}
}
J'ai une question suivante:
- Comment demander.fonction de connexion vérifier le nom et le mot de passe? Ce n'est pas une entité utilisateur connue?
- Si ce n'est pas la bonne façon. Comment mettre en œuvre le mécanisme d'authentification standart
En enfin merci pour votre conseil et j'ai besoin d'un très bon des tutoriels ou de conseiller.
1 answers
Comment
request.login
fonction vérifier le nom et le mot de passe? Ce n'est pas une entité utilisateur connue?
Le request.login
permet d'implémenter la sécurité programmatique et valide le nom d'utilisateur et le mot de passe fournis dans le domainepassword validation realm utilisé par le mécanisme de connexion du conteneur Web configuré pour le ServletContext .
En d'autres termes, il délègue la vérification d'authentification au conteneur et cette vérification est effectuée par rapport au domaine de sécurité de l'application Web. C'est une très belle alternative à l'authentification basée sur un FORMULAIRE.
L'Authentification Sans la Forme a eu une belle screencast montrant cette fonctionnalité en action. Si vous ne voulez pas utiliser un domaine de fichier mais un domaine JDBC, vérifiez cet article de blog .
Voir aussi
- Résumé des nouvelles Fonctionnalités de Sécurité dans le Servlet 3.0
- Nouvelles fonctionnalités de sécurité dans Glassfish v3 (Java EE 6) - Partie III
- Utilisation de Servlet 3.0-Authentification sans formulaires en utilisant GlassFish v3 et Vaadin
- JDBC Domaine de l'Installation avec Glassfish v3 (construire 70) et Netbeans 6.8 (bêta) JEE6