【问题标题】:ASP.NET Page posting back while it should be redirecting应该重定向的 ASP.NET 页面回发
【发布时间】:2009-07-20 07:34:38
【问题描述】:

我们的网络应用程序的第一页是一个登录页面。

我们正在使用 FormsAuthentication。我们使用的不是数据库,而是多个 Active Directory。所以我们自己填写FormsAuthenticationTicket。

这对于我们自己网络上的一个 Active Directory 非常有效,但对于另一个网络上的另一个 Active Directory 则不起作用。

当我查看日志记录时,从 Active Directory 获取信息是可行的,但是当我完成获取信息时,我会重定向到另一个页面,但这种情况不会发生。页面回发,但不重定向。

我不知道去哪里找。我使用的是动态模拟,可能与此有关?

编辑:所以它正在重定向。我有一个 returnUrl。

但这仍然很奇怪,日志告诉我用户已通过身份验证。当用户通过身份验证但未找到角色时,我会执行类似

的操作
protected void Page_Load(object sender, EventArgs e) {
        m_logger = new Logger(22, MethodBase.GetCurrentMethod().DeclaringType);

        if (User.Identity.IsAuthenticated) {
            KanoWebIdentity kanoWebId = (KanoWebIdentity)User.Identity;
            m_logger.Debug("Een geauthenticeerde gebruiker laadt Aanmelden.aspx, zijn rechten worden getoond.");
            ShowNoPermissionMessage(kanoWebId);
        } else {
            m_logger.Debug("Een niet geauthenticeerde gebruiker laadt Aanmelden.aspx.");
        }
    }

重定向后 cookie/会话中的所有内容似乎都丢失了?

【问题讨论】:

  • 你确定它没有重定向,然后被拒绝访问权限,因此被重定向回登录。当您看到可能的回发时,查询字符串中是否有 ReturnUrl 参数?
  • :O 我确实有一个 returnUrl。让我调查一下。谢谢
  • 你可以尝试使用 Fiddler 看看发生了什么

标签: asp.net forms-authentication response.redirect


【解决方案1】:

谢谢大家的建议。

使用 Fiddler 我们发现 cookie 是空的。

角色字符串太大。

在此处查找更多信息http://weblogs.asp.net/hernandl/archive/2004/07/30/FormsAuthRolesRev.aspx

再次感谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    相关资源
    最近更新 更多