0
私のプロジェクトの下に、いくつかの静的ファイル、つまり.htm
と.js
のファイルがあるフォルダを保護しようとしています。またASP.NET内の静的ファイルを許可されたユーザーにのみ提供
public class StaticFilesRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext context)
{
return new StaticFilesHttpHandler();
}
}
を提供するために、Route.Config
routes.RouteExistingFiles = true;
routes.Add("helpRoute", new Route("folder/*.htm", new StaticFilesRouteHandler()));
とルートハンドラ経由のルートで使用することを登録し、その後
public class StaticFilesHttpHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.IsAuthenticated)
{
// continue with the request
}
else
{
throw new HttpResponseException(HttpStatusCode.Unauthorized);
}
}
public bool IsReusable => false;
}
:私のようなカスタムHttpHandler
を作成しようとしましたweb.config
の下にsystem.webServer
<handlers>
<add name="StaticFileHandler" verb="GET" path="~/help/default.htm" type="StaticFilesHttpHandler "/>
</handlers>
フォルダ内のファイルはサードパーティによって提供されています。私は、そのサブ構造内の適切な.htmファイルにユーザーをリダイレクトするフォルダ内のjsファイル内の関数を呼び出します。ユーザーがURLを入力してファイルのいずれかにアクセスできるようにする必要はありません。私は間違って何をしていますか?
[MVCウェブサイト - 静的ファイルへのアクセスを禁止する方法](https://stackoverflow.com/q/36425635/) – NightOwl888
@ NightOwl888これらのファイルへのすべてのアクセスを削除します。私はまだユーザーが許可されている場合に限り、それらのファイルにアクセスできるようにしたい。 –
あなたは正しいです。 [IIS 7.5でASP.NETフォーム認証を使用して静的ファイルを保護するにはどうすればよいですか?](https://stackoverflow.com/questions/2903292/how-do-i-protect-static-files-with-asp- net-form-authentication-on-iis-7-5)を使用してください。 – NightOwl888