我在IIS7中设置了一个基本的ASP.NET网站,并在服务器上启用了表单身份验证。只是为了笑容,我否认所有人:
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="Login.aspx" defaultUrl="Test.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true"/>
</authentication>
<authorization>
<deny users="*"/>
</authorization>
<compilation debug="true"/>
</system.web>
</configuration>
当我访问default.aspx页面时,我会尽职地重定向到Login.aspx页面。但是,我可以浏览同一站点根目录下的.txt文件或.png文件,并显示它没有任何挑战。
这很奇怪,因为在Cassini开发服务器中,阻止了对这些文件的访问。只有在我发布到IIS7服务器后才会出现这种情况。
我必须在IIS7中遗漏一些东西,但我无法理解我的生活。
有人能指出我正确的方向吗?
谢谢! Droidilate
答案 0 :(得分:1)
首先,您必须使用集成管道,然后在web.config中添加它:
<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
<remove name="FormsAuthenticationModule" />
<add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />
<remove name="UrlAuthorization" />
<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
</modules>
</system.webServer>