Vous pouvez utiliser une balise <location/>
dans votre fichier web.config pour ouvrir un répertoire ou un fichier spécifique.
Je ne crois pas qu'il existe une méthode intrinsèque de contrôle d'accès par hôte.
Une manière très simple de le faire serait de mettre en œuvre un simple HttpModule qui protège le point de terminaison ou le répertoire.
using System;
using System.Net;
using System.Web;
namespace HttpLibArticleSite
{
public class GuardDogModule : IHttpModule
{
#region IHttpModule Members
public void Init(HttpApplication context)
{
context.BeginRequest += BeginRequest;
}
public void Dispose()
{
//noop
}
#endregion
private static void BeginRequest(object sender, EventArgs e)
{
HttpContext ctx = (HttpContext) sender;
if (ctx.Request.Url is not guarded) return;
if (ctx.Request.Headers["take your pick"] != what
you want)
{
ctx.Response.StatusCode = (int) HttpStatusCode.Forbidden;
ctx.Response.End();
}
}
}
}
non conforme, évidemment, et non testé, mais vous obtiendrez où vous devez aller. Reportez-vous simplement à la section web.config system.web/httpModules pour voir comment déployer.
Cheers.