取消返回网址选项视觉工作室

时间:2012-08-01 23:53:50

标签: c# asp.net visual-studio-2010

我在视觉工作室建立了一个网站。 一开始一切都很好,我设法在我的所有网页之间导航。 我按照本教程(http://csharpdotnetfreak.blogspot.com/2011/12/createuserwizard-email-verification.html)来创建登录页面。

我设法将验证邮件发送到我的电子邮件地址,但链接从未起作用,我总是收到错误400错误请求。

我的问题是,现在,我无法访问任何网页。它总是带我到login.aspx页面,即使我在web.config文件上设置了一个不同的页面(在身份验证下)。我尝试将其他页面设置为起始页面(通过右键单击项目浏览器)。

每当我尝试打开网页时,我收到错误404,地址栏中的地址更改为localhost49171 / login.aspx?Returnur%2fdefault.aspx%3f

任何人都有解决方案吗?

提前致谢,

Liron

2 个答案:

答案 0 :(得分:0)

returnurl表示IIS正在尝试加载default.aspx,但网站安全设置需要登录。所以你被重定向到login.aspx。

答案 1 :(得分:0)

在检查了web.config后,您所期望的行为,只要在登录后您可以导航并访问您网站中的所有页面。如果登录后,您仍然被重定向到登录页面,那么您还有其他设置错误。

web.config中的configuration / web.config / authorization元素用于指定站点范围的授权规则。

<configuration>
  <web.config>
    <authorization>
      <deny users="?"  /> <!-- deny un-authenticated access, everyone not logged in that is -->
      <allow users="*"   /> <!-- allow everyone else -->
    </authorization>
  </web.config>
</configuration>

如果您拥有可能需要任何人可访问的资源,您可以使用configuration / location / system.web / authorization元素将授权规则修改为该资源

<configuration>
  <location path="SomeUnprotectedResource.aspx">
    <authorization>
      <allow users="*" /> <!-- anyone can view this page -->
    </authorization>
  </location>
</configuration>

您甚至可能拥有进一步限制对网页的访问权限所需的资源,而不是网站规则所拥有的资源。

<configuration>
  <location path="OnlyForMe.aspx">
    <authorization>
      <allow users="Me" /> <!-- only the user Me can view this page -->
      <deny users="*" /> <!-- deny everyone else -->
    </authorization>
  </location>
</configuration>

作为旁注,如果你有IIS设置来保护所有网站资源(即* .css,*。js)而不仅仅是ASP.NET资源,你需要添加规则以允许访问它们。例如,您可能在登录页面外部使用JavaScript和样式,因此他们可能需要样式和脚本才能工作。

<configuration>
  <location path="styles/login.css">
    <authorization>
      <allow users="*" />
    </authorization>
  </location>
  <location path="scripts/login.js">
    <authorization>
      <allow users="*" />
    </authorization>
  </location>
</configuration>