我有一个网站,并在其下面有一个应用程序。
在这里点击http://msdn.microsoft.com/en-us/library/ff648341.aspx后,我在应用程序中创建了一个安全文件夹。
然后web.config被添加到应用程序的文件夹中,但我仍然可以访问安全文件夹我做错了什么?
<?xml version="1.0"?>
<configuration>
<system.web>
</system.web>
<!-- The secure folder is for authenticated and SSL access only. -->
<location path="Secure" >
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
更新:最后我有一个index.html,当我用Default.aspx替换它时,它确实有效。
然后如何在不添加扩展名的情况下保护任何文件:(
答案 0 :(得分:2)
可能缺少身份验证标记。这段代码适合我:
<system.web>
<identity impersonate="true"/>
<authentication mode="Forms">
<forms cookieless="AutoDetect" protection="All" slidingExpiration="true" loginUrl="~/login.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<location path="styles">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:1)
我认为您不需要空的第一个system.web,并且您不需要将第二个包装在位置标记中。
答案 2 :(得分:1)
我认为你唯一缺少的是:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Default.aspx">
</forms>
</authentication>
</system.web>
这就是我所拥有的并且有效:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Default.aspx">
</forms>
</authentication>
</system.web>
<location path="secure">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
答案 3 :(得分:0)
试试这个
<configuration>
<system.web>
...
<authentication mode="Forms">
<forms name="MyAppCookie" loginUrl="~/Login.aspx" protection="All" timeout="30" path="/" />
</authentication>
</system.web>
...
//deny the access to annonymous users in the Secure directory
<location path="Secure" >
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>