不允许用户访问HTML文件只有经过身份验证的用户才能访问HTML文件。我已经在web.config文件中放置了身份验证,但这不起作用。
<location path="test">
<system.web>
<authorization>
<allow users="?"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
当我将此代码放在我的Web.config文件中时,它只是未经身份验证的用户才能访问HTML文件。当我通过应用程序验证登录时,它无法访问HTML文件。
此代码仅拒绝访问不允许访问&#34; test&#34;经过身份验证的用户的文件夹。
提前致谢!!!
答案 0 :(得分:0)
我有办法用httphandlers做到这一点。
首先在项目中添加一个类并实现IHttpHandler类。然后
将此示例代码添加到ProcessRequest
方法。
if (!HttpContext.Current.User.Identity.IsAuthenticated )
{
HttpContext.Current.Response.Write("//No authenticated access to static files are allowed");
return;
}
var requestedFile=File.ReadAllText(HttpContext.Current.Request.PhysicalPath);
HttpContext.Current.Response.ContentType = "text/html";
HttpContext.Current.Response.Write(requestedFile);
当然不要忘记将此引用添加到网络配置中。
<add verb="*" path="*.html" type="YourNamespace.YourClassName, YourNameSpace" name="JS" />
希望它有所帮助。