ASP.NET 4.5 身份验证重定向在 IIS 上部署时不起作用

本文关键字:IIS 部署 不起作用 重定向 NET 身份验证 ASP | 更新日期: 2023-09-27 18:33:33

我为客户端构建了一个 ASP.NET webforms应用程序,并使用Forms身份验证来确保安全性。 当我在本地运行它时(在三台不同的 PC 上,加上我的一台队友 PC),我们可以毫无问题地登录。 但是当我们将其部署在客户端的服务器上时,登录重定向失败。

我们可以看到身份验证正在工作,因为母版页更新并显示仅供经过身份验证的用户使用的选项,但表单始终重定向到登录页。

以下是web.config的一部分:

<authentication mode="Forms">
        <forms loginUrl="default.aspx" name=".ASPXFORMSAUTH" defaultUrl="home.aspx" slidingExpiration="true" timeout="60">
        </forms>
    </authentication>
    <authorization>
        <deny users="*" />
        <allow users="*" />
    </authorization>

母版页中有效的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Request.IsAuthenticated)
    {
        hylHome.Visible = false;
        hylSearch.Visible = false;
        lbtnLogout.Visible = false;
    }
    else

而且,为了以防万一,处理的行会创建身份验证:

FormsAuthentication.RedirectFromLoginPage(txtusername.文本,假);

我假设它是 IIS 服务器上某个地方停止重定向的设置,但我对服务器一无所知。 任何帮助将不胜感激。 谢谢。

ASP.NET 4.5 身份验证重定向在 IIS 上部署时不起作用

两个更新修复了此问题。 正如Darren Kopp指出的那样,web.config必须更新为:

<deny users="?" />

在那之后,我也在身份验证方法的末尾缺少了一个response.redirect="default.aspx",灵感来自 Humpy 的评论。