Première chose: ne pas stocker les mots de passe dans la base de données. Vous pouvez stocker des hachages.
Voici une manière simple:
- Ajouter un formulaire avec des champs nom d'utilisateur et mot de passe.
- Créez un bean géré de session appelé comme exemple d'utilisateur.
- Créer des propriétés nom d'utilisateur et mot de passe dans le bean (ne pas oublier les accesseurs).
- Forme de liaison avec les propriétés que vous avez créées (par exemple dans JSF # {userBean.username}).
- Créez une méthode dans le bean appelé authorize.
- Liez la méthode avec le bouton submit sur le formulaire.
- Dans autoriser méthode créer un hachage de mot de passe et essayer de trouver une ligne dans la table des utilisateurs qui a un nom d'utilisateur et mot de passe du formulaire.
- En cas de succès redirigent vers une autre page, null le champ de mot de passe et utiliser le champ de nom d'utilisateur pour reconnaître qui est connecté.
C'est la façon la plus simple de l'autorisation d'application en Java EE je peux imaginer.
Mettez une forme comme celle-ci:
<h:form id="loginForm">
<h:inputText maxlength="255" size="20" tabindex="10" value="#{userBean.login}"
styleClass="inputField" id="username"/>
<h:inputSecret maxlength="255" size="20" tabindex="20"
value="#{userBean.password}" styleClass="inputField" id="password"/>
<h:commandButton value="login"
action="#{userBean.validate}" id="submit"/>
</h:form>
Et bean géré:
@ManagedBean(name = "userBean")
@SessionScoped
public class UserBean {
private User user;
private String login;
private String password;
@PostConstruct
private void init() {
this.user = new User();
}
public String validate() {
// Validate given login and password here
// When user seems to be valid assign it to this.user and return "/someFileForAuthorizedUsers.xhtml";
this.login = null;
this.password = null;
return null;
}
}
Ne pas oublier accesseurs. JSF a besoin d'eux.
comment protégez-vous votre URL? ce Q invite un large sujet de discussion – user1428716
Que voulez-vous dire par protection d'URL. – Frozendragon