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 服务器上某个地方停止重定向的设置,但我对服务器一无所知。 任何帮助将不胜感激。 谢谢。
两个更新修复了此问题。 正如Darren Kopp指出的那样,web.config必须更新为:
<deny users="?" />
在那之后,我也在身份验证方法的末尾缺少了一个response.redirect="default.aspx"
,灵感来自 Humpy 的评论。