2010-08-23 6 views

Répondre

9

Donc, vous voulez essentiellement de mettre l'authentification HTTP de base sur la page JSP particulière? Voici une étape par étape:

  1. Tout d'abord vous devez déclarer le rolename souhaité, le nom d'utilisateur et mot de passe /conf/tomcat-users.xml.

    <tomcat-users> 
        <role rolename="yourrole"/> 
        <user username="yourname" password="yourpass" roles="yourrole" /> 
    </tomcat-users> 
    

    (vous pouvez ajouter autant <role> et <user> entrées que vous voulez, s'il y a déjà des entrées existantes, vous ajoutez juste à l'intérieur <tomcat-users>).

  2. Ensuite, vous devez déclarer la contrainte de sécurité désirée sur le url-pattern du fichier JSP avec une configuration de connexion de BASIC (qui est l'authentification HTTP BASIC).

    <security-constraint> 
        <web-resource-collection> 
         <web-resource-name>A JSP page</web-resource-name> 
         <url-pattern>/page.jsp</url-pattern> 
        </web-resource-collection> 
        <auth-constraint> 
         <role-name>yourrole</role-name> 
        </auth-constraint> 
    </security-constraint> 
    <login-config> 
        <auth-method>BASIC</auth-method> 
    </login-config> 
    

    Le /page.jsp doit correspondre à l'URL relatif au contexte de la page JSP. Le yourrole devrait être le même que le nom du rôle que definied dans /conf/tomcat-users.xml.

Redémarrez le serveur, ouvrez la page JSP dans le navigateur et utiliser yourname et yourpass pour vous connecter.

+0

Pour quel fichier dois-je ajouter la contrainte de sécurité figurant dans 2.? –

+1

@Will: la page JSP que vous souhaitez protéger avec un mot de passe, exactement comme cette question est tout au sujet de :) – BalusC

+0

super, merci! cela fonctionne-t-il pour les pages non-JSP? –

2

L'information complète est ici Apache Tomcat 6 Realm Configuration HOWTO. La méthode la plus simple consiste à utiliser le MemoryRealm pour définir l'utilisateur (nom, mot de passe et rôle) dans tomcat-users.xml et définir les ressources que vous souhaitez protéger dans votre application web.xml.