【发布时间】: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