Protección de archivos descargados

Al bajar o descargar archivos en la infraestructura de interfaz de usuario web y Rich Client Platform, para autenticar y autorizar la solicitud de descarga de archivo, una API y una entrada de API deben pasarse junto con la entrada de descarga del archivo. La API se llamará con la entrada de API pasada. Si la API es correcta, el archivo especificado en la entrada de descarga de archivo se descargará.

La API que debe llamarse para la autorización de descarga del archivo tiene que estar registrada con la clase PLTFileDownloadAPIRegistry mediante el método API(String appCode, String appName). La solicitud de cliente debe proporciona el nombre de la API y la entrada. A continuación se muestra un ejemplo de la entrada de la API API (para la API getUserList):

<User UserKey="">
  <FileAttachments> 
    <FileAttachment FileName=""/> 
  </FileAttachments>
</User>

Como parte de la invocación de API, la autorización y otras tareas de seguridad se gestionan gracias a la seguridad de API, validación de tokens o señales y otras tareas. Esta se invoca para comprobar si la API es correcta. Si lo es, el usuario podrá descargar archivos. A continuación, se descargará el archivo para el que se ha proporcionado FileAttachmentKey en el archivo XML de entrada de descarga de archivos.

La plantilla de API se proporciona dentro de la carpeta template/filedownloadapi en el archivo resources.jar. Esta plantilla de API es la que se llamará para la autorización. Debe ser lo más pequeña posible, por ejemplo:

<User UserKey="">
  <FileAttachments> 
    <FileAttachment FileName="" FileAttachmentKey=""/> 
  </FileAttachments>
</User>

La autorización para el servlet de descarga de archivos (PLTFileDownloadServlet) se configura a través de web.xml. El parámetro de contexto es sc-file-download-authorization-required. De forma predeterminada, este valor de propiedad es TRUE.

Para realizar la descarga, APIName,APIInputXML y FileDownloadInputXML son obligatorios y deben pasarse desde el cliente. Si la entrada en web.xml de sc-file-download-authorization-required se ha establecido en FALSE, se utiliza FileAttachmentKey en FileDownloadInputXML para recuperar el archivo. Si sc-file-download-authorization-required se ha establecido en TRUE, la API que ha pasado el cliente se llama con la entrada de API pasada. La plantilla de esta llamada de API se describe anteriormente en este tema. Si la llamada de API se realiza correctamente, el archivo se descarga.

El usuario que invoca el servlet debe tener permiso para la API. Al finalizar correctamente esta API, los datos del archivo se descomprimen y decodifican y se entrega al cliente el archivo cuya descarga ha solicitado.