ASP.NET C# 中的注册页面不断重定向到登录页面

编程


仅当我在 Web.config 文件中配置了身份验证时才会发生这种情况。 我需要这个来登录。但是我如何停止这个重定向?

网页配置

超文本标记语言
<authentication mode="Forms">
      <forms loginUrl="~/Login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

这是我得到的 URL:

http://localhost:49575/(S(teuci1cr4nob5isksiq5rsf))/Login.aspx?ReturnUrl=%2fRegister.aspx

解决方案1

这是因为服务器会尝试让用户从您指定的唯一位置的页面登录。

有两种方法可以最大限度地减少问题。 第一个解决方案是在同一页面上提供注册和登录表单。 这样,您只需创建一个页面,用户就可以从同一页面注册或登录。 如果您想坚持使用 web.config 的工作方法,将使用此方法。

但是,其他方法是使用 WebSecurity 类并使用其 IsAuthenticated 属性来确定用户是否登录,然后重定向他。 您还可以确定用户位于哪个页面(注册或登录;如果他正在登录或注册,则不要重定向,否则将他重定向到登录或注册页面),然后只需让他通过简单的注册即可登录。 像这样,

C#
if(!WebSecurity.IsAuthenticated) {
   // No user logged in, 
   Response.Redirect("~/Login.aspx");
}

这样就可以解决问题了。 我个人想使用第二种方法来检查代码隐藏中用户的值和状态。

コメント

タイトルとURLをコピーしました