忽略单个页面的身份验证

时间:2011-05-06 20:48:46

标签: c# asp.net forms authentication web-config

我处境非常棘手......

我有一个页面是我项目的一部分,我想在不登录或做任何事情的情况下访问它。

说明: 我有一个测试项目,它有一个登录页面,默认页面,Admin文件夹,Guest文件夹和showmessage页面。

Admin文件夹包含只有管理员才能访问的页面

Guest文件夹包含所有用户均可访问的页面。

现在,当我输入http://localhost/Default.aspx或任何其他页面时,它首先将我带到登录页面,并且只有在我输入登录凭据后,我才会转到默认页面并从那里转到其他页面。

这个系统适用于我,我不想改变它,

但有一个类似于默认的页面叫做showmessage.aspx页面。

我想要的是当我输入http://localhost/showmessage.aspx时,它应该忽略所有登录页面并直接带我到这个页面..有没有办法做到这一点。

我在我的webconfig中有这个:

<authentication mode="Forms">
        <forms loginUrl="Login.aspx" defaultUrl="~/Default.aspx" name="GUI" slidingExpiration="true" timeout="30" path="/">
        </forms>
    </authentication>

<location path="Admin" allowOverride="true">
    <system.web>
      <authorization>
        <allow roles="Administrators" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

请帮助我一些人。 感谢我能得到的所有帮助。感谢

1 个答案:

答案 0 :(得分:9)

您应该能够直接指定页面的路径并允许所有人。

<location path="ShowMessage.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
</location>