-1

Even if a person knows the exact path to the file I want to prevent download unless they are logged in the to the website. I am using Session to keep track of user. I created a class in App_Code but I do not know how to modify these contents from the MSDN website to prevent download. Please help. Thank you.

C# preferably please.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for secure
/// </summary>
public class secure :IHttpModule
{
    public String ModuleName
    {
        get { return "HelloWorldModule"; }
    }

    // In the Init function, register for HttpApplication 
    // events by adding your handlers.
    public void Init(HttpApplication application)
    {
        application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
        application.EndRequest += (new EventHandler(this.Application_EndRequest));
    }

    // Your BeginRequest event handler.
    private void Application_BeginRequest(Object source, EventArgs e)
    {
        HttpApplication application = (HttpApplication)source;
        HttpContext context = application.Context;
        context.Response.Write("<h1><font color=red>HelloWorldModule: Beginning of Request</font></h1><hr>");
    }

    // Your EndRequest event handler.
    private void Application_EndRequest(Object source, EventArgs e)
    {
        HttpApplication application = (HttpApplication)source;
        HttpContext context = application.Context;
        context.Response.Write("<hr><h1><font color=red>HelloWorldModule: End of Request</font></h1>");
    }

    public void Dispose()
    {
    }
}
Carlos
  • 19
  • 3

1 Answers1

0

The easiest way to do this is by using the membership provider and simply configuring the web.config to only allow users within a particular role access to the path with the resource:

<configuration>
  <location path="[path to secure]">
    <system.web>
      <authorization>
        <allow roles="Admin" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
</configuration>
Troy Hunt
  • 20,345
  • 13
  • 96
  • 151