2016-05-30 2 views
0

Je travaille sur un modèle Changer mot de passe où j'ai trois champsLecture 2.4 (Java) - session d'accès à la méthode validate

  • mot de passe actuel
  • Nouveau mot de passe
  • Confirmer le nouveau mot de passe

Dans ma méthode validate() du modèle, je veux pouvoir obtenir l'utilisateur connecté via la portée de la session afin que je puisse vérifier que le mot de passe actuel est valide. Y a-t-il un moyen d'obtenir une session? Ou peut-être y a-t-il une façon meilleure et plus sûre d'implémenter cela?

public String validate(){ 

    //Check if current password is valid 

    if (newPassword == null || !newPassword.equals(newPasswordConfirm)) { 
     return "New passwords do not match"; 
    } 
    return null; 
} 
+1

La session est disponible dans la couche de contrôleur. Si cette méthode est dans votre modèle, vous devez transmettre ce dont vous avez besoin dans la session (c'est-à-dire: userId) à la méthode validate en tant que paramètre. Vous devez découpler les choses. N'essayez pas de passer la session à votre modèle. – c4k

+0

Ca a du sens, je l'ai fait comme ça maintenant. Ce n'est PAS passer la session – nbz

+0

@ c4k Si vous l'envoyez en réponse, je peux l'accepter. – nbz

Répondre

0

La session est disponible dans la couche de contrôleur. Si cette méthode est dans votre modèle, vous devez transmettre ce dont vous avez besoin dans la session (c'est-à-dire: userId) à la méthode validate en tant que paramètre. Vous devez découpler les choses. N'essayez pas de passer la session à votre modèle.