Soporte de interceptor de asociación de confianza para la creación de sujetos
La interfaz TAI (Trust Association Interceptor), com.ibm.wsspi.security.tai.TrustAssociationInterceptor, da soporte a varias características distintas de la interfaz com.ibm.websphere.security.TrustAssociationInterceptor existente.
- Nombre de método de claves
- public boolean isTargetInterceptor (HttpServletRequest req)
El método isTargetInterceptor determina si la solicitud se ha originado con el servidor proxy asociado al interceptor. El código de implementación debe analizar el objeto de solicitud entrante y determinar si el servidor proxy que envía la solicitud es un servidor proxy válido para este interceptor. El resultado de este método determina si el interceptor procesa la solicitud o no.
- Resultado del método
Un valor true indica a WebSphere Application Server que debe dejar que el TAI maneje la solicitud.
Un valor false indica a WebSphere Application Server que debe ignorar el TAI.
- Nombre de método de claves
- public TAIResult negotiateValidateandEstablishTrust (HttpServletRequest
req, HttpServletResponse res)
El método negotiateValidateandEstablishTrust determina si se confía o no en el servidor proxy desde el que se originó la solicitud. El código de implementación debe autenticar el servidor proxy. El mecanismo de autenticación es específico del servidor proxy. Por ejemplo, en la implementación del servidor WebSEAL que proporciona el producto, este método recupera la información de autenticación básica de la cabecera HTTP y valida la información en el registro de usuario que utiliza WebSphere Application Server. Si las credenciales no son válidas, el código genera la excepción WebTrustAssociationException, que indica que el servidor proxy no es fiable y se deniega la solicitud. Si las credenciales son válidas, el código devuelve un resultado TAIResult, que indica el estado del proceso de solicitud junto con la identidad del cliente (Sujeto y nombre de principal) que se ha de utilizar para autorizar el recurso web.
- Resultado del método
- Devuelve un resultado TAIResult, que indica el estado del proceso de las solicitudes. Se puede consultar el objeto de solicitud y se puede modificar el objeto de respuesta.
- Si el valor es HttpServletResponse.SC_OK, esta respuesta indica a WebSphere Application Server que el TAI ha completado la negociación. La respuesta también indica a WebSphere Application Server que debe utilizar la información del resultado TAIResult para crear una identidad de usuario.
- Los demás valores indican a WebSphere Application Server que debe devolver al cliente Web la salida de TAI que se coloca en la respuesta HttpServletResponse. Normalmente, el cliente web proporciona información adicional y, a continuación, coloca otra llamada en el TAI.
TAIResult | Explicación |
---|---|
public static TAIResult create(int status); | Indica un estado en WebSphere Application Server. El estado no puede ser SC_OK porque se proporciona la información de identidad. |
public static TAIResult create(int status, String principal); | Indica un estado en WebSphere Application Server y proporciona el ID de usuario o el ID exclusivo de este usuario. WebSphere Application Server crea credenciales consultando el registro de usuarios. |
public static TAIResult create(int status, String principal, Subject subject); | Indica un estado en WebSphere Application Server, el ID de usuario o el ID exclusivo del usuario, y un sujeto personalizado. Si el sujeto contiene una tabla de totales de control, el principal se ignora. El contenido del sujeto formará parte del sujeto del usuario final. |
// Modifique el objeto HttpServletResponse
// El código de respuesta sólo es significativo en el cliente
return TAIResult.create(HttpServletResponse.SC_CONTINUE);
// modifique el objeto HttpServletResponse
return TAIResult.create(HttpServletResponse.SC_OK, userid);
// cree un
sujeto y coloque en él la tabla de totales de control
Subject subject = new Subject;
subject.getPublicCredentials().add(hashtable);
// el código de respuesta sólo es significativo en el cliente
return TAIResult.create(HttpServletResponse.SC_OK, "ignored", subject);
//mensaje de error de anotaciones cronológicas
// ....
throw new WebTrustAssociationFailedException("TAI failed for this reason");
Los siguientes son métodos adicionales de la interfaz de TrustAssociationInterceptor. Estos métodos se utilizan en la inicialización, el cierre y la identificación de TAI en WebSphere Application Server. Para obtener más información, consulte la documentación Java™.
- Nombre de método
- public int initialize(Properties props)
- Resultado del método
- Se llama a este método durante la inicialización de TAI y únicamente se llama si se han configurado las propiedades personalizadas para el interceptor.
- Nombre de método
- public String getVersion()
- Resultado del método
- Este método devuelve la versión de TAI.
- Nombre de método
- public String getType()
- Resultado del método
- Este método devuelve el tipo de TAI.
- Nombre de método
- public void cleanup()
- Resultado del método
- Se llama a este método cuando se detiene el proceso de WebSphere Application Server. Si se detiene el proceso TAI de WebSphere Application Server tiene la oportunidad de realizar cualquier limpieza que sea necesaria. Este método no es necesario si no se requiere una limpieza.