Question

Comment utiliser "mot de passe expiré par l'utilisateur" dans JDBREALM?

Est-ce que cela est capable de faire cela?

Était-ce utile?

La solution

JDBCREALM ne fournit pas ce type de fonctionnalité. Vous devez écrire un up vous-même. Je viens d'écrire un pour mon application Webb. Le mien utilise hibernate, mais ce n'est pas essentiel, car les étapes sont assez génériques.

  1. Définit d'abord un attribut de session 'checkexpiré' dans votre login.jsp (ou tout ce que vous avez appelé).
    <c:set var="checkExpired" value="true" scope="session" />
    
    1. dans votre index.jsp ajoutez un peu de code pour lire le checkexpiré et s'il est défini sur true - effectuez la vérification des dates et définissez la valeur de checkexpired sur false! Obtenez la dernière date lorsque la passe a été modifiée (stockée dans la base de données) et comparez-la avec la date actuelle. Si c'est dire 90 jours plus vieux (ou plus) rediriger l'utilisateur pour modifier la page de mot de passe JSP.

    2. My ChangePass.jsp comprend un formulaire où les types d'utilisateurs dans le nouveau mot de passe. L'action du formulaire consiste à appeler le servlet qui gère les mots de passe changeants.

    3. Le servlet à changement de passe valide le mot de passe, l'écrit à la base de données et met à jour le champ Last_Pass_Change dans la base de données à la date actuelle. Enfin, il redirige vers index.jsp.

      Maintenant, ce n'est pas élégant du tout (IMHO au moins), mais c'est le prix que vous payez lorsque vous utilisez JDBREALM pour l'authentification. Si vous souhaitez que vous puissiez lire autour de vous en prolongeant la fonctionnalité de votre serveur ou de fournir votre propre domaine. Cependant, cela semble être beaucoup de travail pour quelque chose de si trivial.

      bonne chance,

      damo

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top