[ad_1]
仅当我在 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"); }
这样就可以解决问题了。 我个人想使用第二种方法来检查代码隐藏中用户的值和状态。
[ad_2]
コメント