这是我的问题......
我有一个以II7集成管道模式运行的网站,我想在整个网站上启用表单auth,而不是包含登录表单的'/ secure /'目录。
我的网络配置目前看起来像这样......
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="secure/login.aspx" protection="All" path="/" timeout="999999" slidingExpiration="true" enableCrossAppRedirects="true">
<credentials passwordFormat="Clear">
<user name="user1" password="xxxxxx"/>
</credentials>
</forms>
</authentication>
<authorization>
<allow users="user1"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="secure">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.webServer>
<!--Enabling Forms Authentication for the Entire Application-->
<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="DefaultAuthentication" />
<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
</modules>
</system.webServer>
</configuration>
当我访问网站网址时,我只能获得无限循环的重定向。我已经尝试将位置特定的auth规则放在system.web部分之上,但这没有效果。
有什么想法吗?
干杯,
罗宾
答案 0 :(得分:3)
访问权限是分层的。也就是说,如果您被禁止访问某些父级,则无论对子级设置了什么权限,都禁止您访问其所有子级。 您可以将登录表单移动到根目录并设置表单的权限 - 它将起作用。