Protezione accesso diretto a file .pdf

lunedì 04 novembre 2013 - 14.24
Tag Elenco Tags  C#  |  .NET 3.5

volperubbia Profilo | Senior Member

Ciao a tutti,
nella mia applicazione web (ASP.NET MVC 3.5) ho una cartella con alcuni pdf. Vorrei proteggerli da un accesso diretto o non autorizzato, ovvero quando un utente non autenticato digita l'url del file nella barra degli indirizzi del browser ridirigerlo verso la pagina del login.

Qualche idea?

Grazie per l'attenzione,
Davide

MATTIA87 Profilo | Newbie

puoi creare delle list<> ( consiglio d nominarle con gradi privileglio accesso) e fare controllo
con funzione/i IF

volperubbia Profilo | Senior Member

Ciao Mattia,
non ho capito bene quello che suggerisci ... Ho provato quindi a seguire questa strada ...

Nel web.config:
<system.webServer>
<handlers>
<remove name="MyHandler" />
<add name="MyHandler" verb="*" path="*/MyFolder/*" type="MySite.Handlers.ProtectedContentHandler" />
</handlers>
</system.webServer>

E poi la seguente classe:
namespace MySite
{
namespace Handlers
{
public class ProtectedContentHandler : IHttpHandler
{
public ProtectedContentHandler() { }
public void ProcessRequest(HttpContext context) {
HttpResponse Response = context.Response;
HttpRequest Request = context.Request;
if (Request.IsAuthenticated == false) {
Response.StatusCode = 401;
Response.End();
} else {
Response.Clear();
Response.WriteFile(Request.Path);
};
}
public bool IsReusable
{
get { return true; }
}
}
}
}

Ci siamo quasi:
a) pubblicando il sito sotto IIS funziona alla perfezione (se non sono autenticato, non accedo al file e vengo rediretto al login);
b) in debug / da visual studio non funziona;
c) pubblicando il sito sotto Aruba non funziona.

Ricapitolando nei casi (b) e (c) qualcosa non torna, sembra non partire la gestione ...

Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5