Puede delegar la autenticación a otra identidad configurando la especificación RunAs para Liberty.
Acerca de esta tarea
Al correlacionar una identidad de usuario especificada y la contraseña opcional con un rol RunAs,
puede delegar el proceso de autenticación a un usuario que tiene el rol RunAs.
Debe habilitar las características de Liberty appSecurity-2.0 y servlet-3.0
y tener un registro de usuarios para su aplicación para poder configurar el rol RunAs.
Para obtener más información sobre el caso de autenticación RunAs, consulte
Autenticación RunAs().
Para
configurar la autenticación RunAs, complete estos pasos:
- Habilite las características appSecurity-2.0 y servlet-3.0 de Liberty
en el archivo server.xml.
- Configure un registro de usuarios para su aplicación
- Especifique el elemento <run-as> en el descriptor de despliegue de la aplicación.
En el ejemplo siguiente de un archivo web.xml se especifican las llamadas posteriores delegadas al usuario correlacionado con el rol de 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>
Correlacione el rol especificado en el paso anterior con
un usuario. Puede hacerlo en el archivo ibm-application-bnd.xmi/xml o en el archivo server.xml. En el elemento <run-as>, debe especificar un nombre de usuario. Si utiliza el archivo ibm-application-bnd.xml, la contraseña también es necesaria; si utiliza el archivo server.xml, la contraseña es opcional. Si es necesaria la contraseña,
codifique la contraseña utilizando el mandato securityUtility
encode en el directorio /bin. Para obtener más información sobre el mandato securityUtility, consulte
Mandato securityUtility. En el ejemplo siguiente se utiliza el elemento <run-as> dentro del elemento <application-bnd>
en el archivo server.xml, donde el rol de Employee se ha correlacionado con el usuario RunAs de user5 :
<application-bnd>
<security-role name="Employee">
<user name="user1" />
<user name="user5" />
<run-as userid="user5" password="{xor}Lz4sLCgwLTs=" />
</security-role>
</application-bnd>
Nota: - Puesto que la contraseña es opcional en el archivo server.xml, puede también utilizar el siguiente código para un usuario sin una contraseña:
<application-bnd>
<security-role name="Employee">
<user name="user1" />
<user name="user5" />
<run-as userid="user5" />
</security-role>
</application-bnd>
- Si especifica el elemento <application-bnd> en el archivo server.xml, la aplicación no puede estar en la carpeta dropins. Si deja la aplicación
en la carpeta dropins, debe inhabilitar la supervisión de aplicaciones estableciendo lo siguiente en el archivo server.xml:
<applicationMonitor dropinsEnabled="false" />
El nombre de usuario RunAs debe ser exclusivo y no existir en las cuentas externas.
Por ejemplo, si autentica un usuario en un proveedor de identidades de SAML o un proveedor de OpenID, asegúrese de que el nombre de usuario RunAs no esté en dichas cuentas externas.
Para obtener más información sobre el elemento
run-as, consulte
Java Servlets 3.0.