Protegendo Arquivos Transferidos por Download

Ao fazer download de arquivos na Web UI Framework e na Rich Client Platform, para autenticar e autorizar a solicitação de download de arquivo, uma API e uma entrada de API precisam ser passadas juntamente com a entrada de download de arquivo. A API será chamada com a entrada de API transmitida. Se a API for bem-sucedida, o arquivo especificado na entrada de download de arquivo será transferido por download.

A API que precisa ser chamada para a autorização de download de arquivo deverá ser registrada com a classe PLTFileDownloadAPIRegistry usando o método API(String appCode, String appName). A solicitação do cliente deverá fornecer o nome e a entrada da API. A seguir está um exemplo da entrada de API (para o API getUserList):

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

Como parte da chamada de API, autorização e outras tarefas de segurança são manipuladas pela segurança da API, validação de token e outras tarefas. Este API é chamado para verificar se o API foi bem-sucedido. Se for, então, o usuário terá autorização para fazer download de arquivos. Em seguida, o arquivo para o qual FileAttachmentKey é fornecido no arquivo XML de entrada de download de arquivo será transferido por download.

O modelo da API é fornecido dentro da pasta template/filedownloadapi no arquivo resources.jar. Este é o modelo para o API que tem que ser chamado para autorização. Ele deve ser o menor possível, por exemplo:

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

A autorização para o servlet de download de arquivo (PLTFileDownloadServlet) é configurada por meio do web.xml. O parâmetro de contexto é sc-file-download-authorization-required. Por padrão, o valor dessa propriedade é TRUE.

Para download, APIName, APIInputXML e FileDownloadInputXML são todos necessários e devem ser passados a partir do cliente. Se a entrada sc-file-download-authorization-required do web.xml for configurada para FALSE, então, FileAttachmentKey em FileDownloadInputXML será usado para buscar o arquivo. Se sc-file-download-authorization-required for configurado para TRUE, a API transmitida pelo cliente será chamada com a entrada da API transmitida. O modelo para essa chamada de API está descrito anteriormente neste tópico. Se a chamada do API for bem-sucedida, então o arquivo é transferido por download.

Os usuários que chamam o servlet devem ter permissão para a API. Na conclusão bem-sucedida deste API, os dados do arquivo são descompactados, decodificados e o cliente é atendido com o arquivo que solicitou para download.