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

时间:2013-10-02 15:30:31

标签: c# asp.net authentication iis webforms

我为客户端构建了一个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.Text,false);

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

1 个答案:

答案 0 :(得分:0)

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

<deny users="?" />

之后,在Humpy评论的启发下,我在验证方法结束时也错过了response.redirect="default.aspx"