我已经在我的网站上成功设置了一个测试区域,该区域使用iis 8上的表单auth进行了身份验证。我在asp.net的集成模式下使用它,据我所知应该意味着使用正确的web.config文件我能够让服务器在所有东西上使用asp.net auth而不仅仅是URL。如果我尝试导航到我没有输入凭据的页面,则返回错误403,这是我所期望的。但是,如果我准确地放入存储在网站上的文件的路径,它将下载文件而无需提供凭据。这是我目前的顶级web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false">
</compilation>
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="default.aspx" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
</system.web>
<location path="staff/test/test">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<system.webServer>
<modules>
<remove name="FormsAuthenticationModule" />
<add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
<remove name="UrlAuthorization" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
<remove name="RoleManager" />
<add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
<remove name="DefaultAuthentication" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
</modules>
</system.webServer>
区域/staff/test/test
中有一个word文档。如果我在浏览器中键入www.website.com/staff/test/test/test.doc
,则会下载该文件。
我应该更改什么才能保护该文件?
答案 0 :(得分:0)
感谢您的回复。最后,它结果是网站根目录的安全权限。我最初粘贴在这里的代码运行正常我有服务器\ users组具有读取权限,因为我只需要具有读取权限的iis_iusers。
再次感谢