Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Dúvida urgente sobre criação de urls

Olá pessoal,

Estou passando por uma dor de cabeça, estou com um projeto nas mãos e ele foi desenvolvido em ASP, e precisa fazer uma mudança, onde em uma página o usuário digita dois códigos para verificar a autenticidade dele e a página carrega um arquivo em PDF exclusivo dele. O site está hospedado em nosso servidor local mesmo e o LocaWeb fazendo o trabalhando de redirecionamento de DNS para o domínio do site. E no nosso servidor local sendo gerenciado pelo IIS.

Ai que tá, quando ele validar o acesso dele para pegar o arquivo, não estou sabendo uma forma de fazer isso, eu tentei validando com javascript e colocando a pasta de todos arquivos PDFs na pasta do site gerenciada pelo IIS e ele gera os links de tudo sendo acessível à todos, ficando sem segurança nenhuma.

Alguma sugestão de como fazer isso? Ou de como não fazer ele gerar os links de tudo, e disponibilizar de alguma forma para o cliente visualizar o arquivo dele? Manjo Spring do Java se tiver alguma forma de fazer assim também... toda sugestão é bem vinda!

9 respostas

Oi Lucas,

Voce vai precisar criar algum controlador pra ficar na frente do PDF. O arquivo nao pode ficar publico mesmo, na pasta publica, senao todo mundo acessa.

A ideia é colocar em alguma pasta interna no servidor e criar uma logica no servidor que leia esse arquivo apenas se a pessoa estiver autenticada.

Falando em Spring, seria, por exemplo, colocar o PDF dentro da pasta WEB-INF e ai criar um Controller que verifica se o usuario esta correto e entao carrega esse PDF pra ele. Em linhas gerais, é mais ou menos isso...

Oi Sérgio!

Obrigado pela resposta. Então já está em alguma pasta interna do servidor, mas falando então em Spring, como eu enviaria o arquivo como resposta de volta para a aplicação em ASP? No caso eu pensei em tentar fazendo uma requisição pro spring através do javascript e como retorno o caminho do PDF, mas e para deixar ele acessível para o cliente?

Putz eu tava pensando que vc iria fazer tudo em Spring. Essa mistura ai nao me parece uma boa. Teria que ver no ASP como fazer pra acessar um arquivo interno (nao manjo).

Mas o importante é que essa validacao toda tem que ser feita no servidor. Nao rola fazer em JS, senao vai ficar inseguro.

É que não manjo nadinha de .NET e a aplicação ta publicada em pastas, não ta fácil de fazer alteração kkkk. Eu pensei em eu enviar a requisição por javascript pro spring, ai lá faz a validação, e como resposta ele enviar o arquivo PDF para o javascript, e o javascript exibindo no html da página sem criar url, será que dá certo essa ideia ou pensei alto?

Mas é .NET ou ASP clássico?

Se for .NET, sei que dá pra fazer algo parecido com os controllers do Spring usando ASP.NET MVC (nao sei como, mas sei que tem curso aqui disso :). De repente é um caminho

(o que vc citou de misturar tudo com JS ai no meio eu nao entendi direito hehehe, viajei)

É ASP clássico, a parte de código não está em C# seria mais fácil porque dessa parte seria mais parecido com Java.

E o que eu quis dizer era fazer o transporte dos bytes do PDF do spring para o JS tentar exibir sem ter que criar uma URL.

Eu se fosse vc tentaria ficar com ASP mesmo e solucionar por la. Nao manjo de ASP mas achei alguma referencias no Google pra esse problema:

https://stackoverflow.com/questions/13045503/pdf-protection-and-seo-in-classic-asp

Ele cita essa solucao, que cria um download.asp que le o arquivo PDF de outro lugar que nao é acessivel diretamente:

https://stackoverflow.com/questions/12929866/how-to-download-the-files-using-vbscript-in-classic-asp/12946733#12946733

Ai precisa só implementar a logica de autenticacao sua em cima dessa pagina (verificar usuario e senha no banco?)

Beleza Sérgio valeu, vou dar uma olhadinha!

solução!

O Sérgio me ajudou com essa dica, peguei a sintaxe da linguagem ASP lendo documentação e consegui fazer o código que precisava. Valeu!