【发布时间】:2013-10-09 01:28:56
【问题描述】:
我为客户端构建了一个 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 服务器上某个停止重定向的设置,但我不了解服务器。任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
登录过程中到底是什么失败了?
-
虽然它可能无法回答这个问题,但我很确定你想要
<deny users="?" /> -
您是否尝试过将 DestinationPageUrl="yourpage.aspx" 放在您的登录控件中?
标签: c# asp.net authentication iis webforms