Configuration de l'authentification RunAs dans Liberty

Vous pouvez déléguer l'authentification à une autre identité en configurant la spécification RunAs pour Liberty.

Pourquoi et quand exécuter cette tâche

En mappant une identité d'utilisateur spécifique et un mot de passe facultatif à un rôle RunAs, vous pouvez déléguer l'authentification à un utilisateur associé au rôle RunAs.

Pour configurer le rôle RunAs, vous devez activer les dispositifs Liberty appSecurity-2.0 et servlet-3.0 et disposer d'un registre d'utilisateurs pour votre application.

Pour plus d'informations sur l'authentification RunAs, voir Authentification RunAs().

Pour configurer l'authentification RunAs, procédez comme suit :

Procédure

  1. Activez les fonctions Liberty appSecurity-2.0 et servlet-3.0 dans le fichier server.xml.
  2. Configurez un registre d'utilisateurs pour votre application.
  3. Spécifiez l'élément <run-as> dans le descripteur de déploiement de votre application.

    L'exemple suivant de fichier web.xml spécifie que les appels consécutifs doivent être délégués à l'utilisateur qui est mappé au rôle Employee :

         <servlet id="Servlet_1">
              <servlet-name>RunAsServlet</servlet-name>
              <display-name>RunAsServlet</display-name>
              <description>RunAsServlet</description>
              <servlet-class>web.RunAsServlet</servlet-class> 
              <run-as>
                   <role-name>Employee</role-name> 
              </run-as>
          </servlet>    
  4. For distributed platformsMappez le rôle que vous avez spécifié à l'étape précédente à un utilisateur. Vous pouvez le faire soit dans ibm-application-bnd.xmi/xml, soit dans le fichier de configuration server.xml. Dans l'élément <run-as>, spécifiez un nom d'utilisateur. Si vous utilisez le fichier ibm-application-bnd.xml, le mot de passe est également requis ; si vous utilisez le fichier server.xml, le mot de passe est facultatif. Si le mot de passe est requis, codez-le avec la commande securityUtility encode dans le répertoire /bin. Pour plus d'informations sur la commande securityUtility, voir commande securityUtility.

    L'exemple suivant utilise l'élément <run-as> dans l'élément <application-bnd> du fichier server.xml, où le rôle Employee a été mappé à l'utilisateur RunAs user5 :

         <application-bnd>
              <security-role name="Employee">
                   <user name="user1" />
                   <user name="user5" />
                   <run-as userid="user5" password="{xor}Lz4sLCgwLTs=" />
              </security-role>
         </application-bnd>   
    Remarque :
    • Etant donné que le mot de passe est facultatif dans le fichier server.xml, vous pouvez aussi utiliser le code suivant pour un utilisateur sans mot de passe :
          <application-bnd>
                <security-role name="Employee">
                     <user name="user1" />
                     <user name="user5" />
                     <run-as userid="user5" />
                 </security-role>
           </application-bnd>   
    • Si vous spécifiez l'élément <application-bnd> dans le fichier server.xml, votre application ne doit pas se trouver dans le dossier dropins. Si vous laissez votre application dans le dossier dropins, vous devez désactiver la surveillance des applications en définissant le paramètre suivant dans votre fichier server.xml :
      <applicationMonitor dropinsEnabled="false" />

    Le nom d'utilisateur RunAs doit être unique et ne pas exister dans des comptes externes. Si, par exemple, vous authentifiez un utilisateur auprès d'un fournisseur d'identités SAML ou d'un fournisseur OpenID Connect, assurez-vous que le nom d'utilisateur RunAs ne figure pas dans ces comptes externes.

    Pour plus d'informations sur l'élément run-as, consultez Java Servlets 3.0.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_sec_runas.html