Запретить загрузку незарегистрированных пользователей ASP.NET - PullRequest
0 голосов
/ 23 июля 2011

Даже если человек знает точный путь к файлу, я хочу запретить его загрузку, если он не вошел на сайт. Я использую сеанс для отслеживания пользователя. Я создал класс в App_Code, но я не знаю, как изменить это содержимое на веб-сайте MSDN, чтобы предотвратить загрузку. Пожалуйста помоги. Спасибо.

C # желательно, пожалуйста.


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()
    {
    }
}

1 Ответ

0 голосов
/ 23 июля 2011

Самый простой способ сделать это, используя поставщика членства и просто сконфигурировав web.config, чтобы разрешить только пользователям в определенной роли доступ к пути с ресурсом:

<configuration>
  <location path="[path to secure]">
    <system.web>
      <authorization>
        <allow roles="Admin" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...