Al desplegar una aplicación en un servidor de aplicaciones, la configuración de seguridad del servidor de aplicaciones es aplicable a todas las aplicaciones de IBM Cúram Social Program Management desplegadas en la instancia del servidor de aplicaciones. Por ello, debe tenerse precaución al considerar la arquitectura del despliegue para más de una aplicación. Es importante al decidir si una aplicación interna y externa se va a desplegar en la misma instancia del servidor de aplicaciones.
Un ejemplo de algunas de las consideraciones que hay que tener en cuenta son:
Las respuestas a las preguntas de arriba afectarán a la configuración de las propiedades del servidor de aplicaciones (es decir, a las propiedades especificadas en el archivo AppServer.properties) que afectan al comportamiento del módulo de inicio de sesión JAAS de Cúram. Estas consideraciones también determinarán la implementación de la clase curam.util.security.PublicAccessUser y la interfaz curam.util.security.ExternalAccessSecurity para usuarios externos.
Las propiedades del servidor de aplicaciones en el módulo de inicio de sesión JAAS de Cúram permiten un control preciso de la autenticación de tipos de usuario. Los usuarios externos y los usuarios externos se pueden autenticar de forma diferente, así como se hace para los distintos tipos de usuarios externos en una situación en la que las aplicaciones internas y externas se despliegan en el mismo servidor de aplicaciones. Estas propiedades incluyen lo siguiente:
Establecer esta propiedad en una lista separada por comas de tipos de usuario para los que no se consultará el registro de usuarios del servidor de aplicaciones, es decir, la implementación dentro del método PublicAccessUser.authenticate() es la responsable de autenticar al usuario externo de este tipo. Por ejemplo, se puede configurar el LDAP para que sea el registro de usuarios.
Establecer esta propiedad en una lista separada por comas de tipos de usuario para los que se va a consultar el registro de usuarios, es decir, la implementación dentro del método PublicAccessUser.authenticate() no autentica completamente al usuario. El registro de usuarios será el responsable de autenticar este tipo de usuario externo. Por ejemplo, se puede configurar el LDAP como el registro de usuarios, en cuyo caso, el LDAP podría ser el responsable de la autenticación de estos tipos de usuario externo.
Estas propiedades dependen de la implementación de la clase curam.util.security.PublicAccessUser y de la interfaz ExternalAccessSecurity.
Tenga en cuenta los siguientes requisitos de proyecto a modo de ejemplo:
Los siguientes valores podrían aplicarse al ejemplo anterior:
Además de establecerse las propiedades, la extensión PublicAccessUser (y la implementación de curam.util.security.ExternalAccessSecurity) deberá tener la lógica de obtención de los distintos tipos de usuarios externos y el modo en que se autentican.