2010-12-05 8 views

Répondre

2

Je ne sais pas si vous pouvez le faire directement avec Hudson, mais vous pouvez certainement le faire si vous exécutez Hudson within a Tomcat instance (je cours le mien dans un Tomcat 7 sans aucun problème).

Vous définiriez un JSP security-constraint, un peu comme those ones (note: adapté pour LDAP parce que je remettrai toute l'authentification des utilisateurs au conteneur webapp d'Hudson: dans mon cas, Tomcat)


L'OP demande :

Vous proposez de faire des changements à hudson/WEB-INF/web.xml? Pourriez-vous s'il vous plaît mentionner explicitement le fichier que je dois changer?

@Vincenzo: Je ne sais pas! Je ne touche jamais un bit du hudson.jar. Je ne l'utilise que dans une instance Tomcat, ce qui signifie:

  • Je déclare dans <tomcat>/conf/Catalina/localhost un contexte pour chaque Hudson je veux gérer:
 
    hudson-xxx -> /home/me/context/hudson-xxx.xml 

(il est un lien parce que je veux mettre à jour Tomcat facilement, donc j'extériorise la définition du contexte en dehors de Tomcat). Je définis mon royaume à des fins ACL:

<?xml version='1.0' encoding='utf-8'?> 
<Context docBase="/home/me/hudson/hudson.war" path="/hudson-xxx"> 
    <Realm className="org.apache.catalina.real.CombinedRealm" > 
    <Realm className="org.apache.catalina.real.JNDIRealm" debug="99" 
      connectionURL="ldap://xxxxx:389" 
      alternateURL="ldap://xxxxx:389" 
      connexionName="yyyy" 
      connectionPassword="zzzz" 
      userPattern="CN={0},OU=...,DC=..." 
      userRoleName="memberOf" 
      useSubtree="false" 
      roleBase="OU=...,DC=..." 
      roleName="cn" 
      roleSearch="(member={0})" 
      roleSubtree="false" 
    /> 
    </Realm> 
    <Environment name="HUDSON_XXX" value="/home/me/hudson/hudson-xxx-home" type="java.lang.String" override="false" /> 
</Context> 

(Avec ce contexte, un hudson.war stocké à l'extérieur de Tomcat est déployé automatiquement avec le répertoire </tomcat>/webapps, et l'accès de http://tomcat-server/hudson-xxx, avec une authentification LDAP)

  • Je suggère de modifier la </tomcat>/conf/web.xml d'ajouter la sécurité contrainte qui empêcherait quiconque d'accéder à la page de l'utilisateur tout en laissant seulement certains utilisateurs de tomcat (tel que défini dans /conf/tomcat-users.xml.
    (Je ne l'ai pas encore testé)
+0

Vous suggérez d'apporter des modifications à 'hudson/WEB-INF/web.xml'? Pourriez-vous s'il vous plaît mentionner explicitement le fichier que je dois changer? Merci – yegor256

+0

@Vincenzo: J'ai mis à jour ma réponse avec des détails spécifiques à Tomcat. – VonC