J'utilise Apache Geronimo comme serveur d'application. Et l'authentification se passe via LDAP à l'aide d'Apache Directory Service. Je n'ai aucune expérience dans le développement de logiciels JavaEE, alors s'il vous plaît, soyez tranquille avec moi. Faites-moi savoir si j'ai besoin d'expliquer quelque chose plus en détail.Geronimo webapp utilisant l'authentification ldap
Fondamentalement, mon étape de connexion est assez similaire à cet exemple de la documentation geronimo: https://cwiki.apache.org/GMOxDOC22/ldap-sample-app-ldap-sample-application.html
Il y a trois comportements différents qui se produisent lorsqu'un utilisateur tente de se connecter:
Lorsqu'un l'utilisateur se connecte avec le nom d'utilisateur correct, qui est dans le bon groupe LDAP, ils sont pris à une zone sécurisée du site. Et je ne suis pas sûr de savoir comment déconnecter l'utilisateur du site jusqu'à la fin de sa session. Lorsqu'un utilisateur se connecte avec un nom d'utilisateur/mot de passe qui ne figure pas dans le répertoire LDAP, l'utilisateur est redirigé vers /auth/logonError.html?param=test (cet emplacement est spécifié dans 'web.xml
Lorsqu'un utilisateur se connecte avec un nom d'utilisateur/mot de passe correct qui n'est pas dans le groupe approprié, il est redirigé vers une "page interdite HTTP 403". Il y a un exemple de cette page au bas de l'échantillon ldap. Le comportement doit être identique à un utilisateur non authentifié. Dans tous ces cas, il n'y a aucun moyen pour l'utilisateur de réessayer le processus de connexion jusqu'à ce que le navigateur soit redémarré ou qu'un navigateur différent soit utilisé. C'est le gros problème que j'ai.
Je voudrais que les scénarios suivants se produisent. Un utilisateur correctement authentifié peut se déconnecter et essayer de se connecter à nouveau.
Un utilisateur incorrectement authentifié est redirigé vers l'écran de connexion et invité à réessayer.
Que dois-je faire pour que cela se produise? Merci de votre aide.