0

我在用

<authentication mode="Forms" >
  <forms loginUrl="login.aspx"
    name=".ASPXFORMSAUTH"  />
</authentication>

一切都很好,除了一些页面,如关于我们、联系我们、隐私政策等,无需登录即可查看。

就我而言,我需要登录才能查看所有页面。我希望无需登录即可查看这些常用页面。

我已经在本地 IIS 以及部署服务器上测试了我的应用程序,但出现了同样的问题。

请帮忙!

感谢您分享您宝贵的时间。

4

3 回答 3

3

您需要为您的安全策略创建例外:

<!-- files in the "Public" folder don't require authorization -->
<location path="Public">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

或者,您可以制作特定于页面的例外:

<location path="AboutUs.aspx">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
于 2010-04-19T14:39:34.583 回答
2

显然,您希望某些页面无需登录即可使用。解决此问题的方法是设置子目录而不是网站根目录的权限,并将这些页面放在网络根目录中(通常它们位于根目录中)

如果工作量太大,请将您的页面放在一个目录中并允许匿名用户访问它。

于 2010-04-19T14:34:43.203 回答
1

对于这样一个悬而未决的问题,可能有大量可能的答案。我们将需要更多细节来回答。这里只是几个地方看看:

您是否检查过您的 web.config 文件以查看匿名身份验证是否已关闭?

您是否检查过 web.config 以查看您是否拒绝匿名用户访问您的根目录?

您是否检查过 IIS 以查看匿名身份验证是否已关闭?

您是否检查了页面的源代码文件以查看您是否正在对匿名用户进行手动拒绝服务?

于 2010-04-19T14:36:37.540 回答