试图将匿名用户限制在 login.aspx、register.aspx 和 Site.css 文件中,并通过身份验证以访问整个站点。目前匿名可以访问 login.aspx 和 Site.css 作为样式正确显示。但是,当我单击 register.aspx 链接时,我会被重定向到 login.aspx 页面。
在 web 根目录下我的 web.config 下方。目录结构中没有其他 web.configs。我不知道我是否应该寻找其他任何地方(我知道 WSAT 有时可以保留规则,但不确定是否被根 Web.config 取代)。
只是想登录和注册文件引用母版页这是否也需要明确授权?虽然不会解释为什么登录对匿名有效,但注册却不行。
谢谢你的帮助!安东尼。
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="************"
connectionString="Data Source=**********; Initial Catalog=************; Integrated Security=SSPI; Persist Security Info=False; Trusted_Connection=Yes"
providerName="System.Data.SqlClient" />
</connectionStrings>
<location path="Register.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<location path="Site.css">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Website/Login.aspx" timeout="2880" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="***********" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="**********" applicationName="/"/>
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="***********" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>