当我从HTTP重定向到HTTPS时,用户必须重新登录。

3

我有一个基本的网站,其中包含会员登录页面和管理后台区域。我正在使用ASP.NET Membership表进行身份验证。

当会员登录时,他们将被认证并可以访问其会员资料和其他相关的会员区域。

如果用户登录并且我检测到他们在ADMINISTRATOR角色中,则可用链接访问网站的管理员区域。

当管理员点击此管理员链接时,网站将重定向到SSL HTTPS协议,并应将管理员发送到网站的管理区域。

  string SecureURL;

  SecureURL = "https://";
  SecureURL = SecureURL + Request.ServerVariables["SERVER_NAME"];
  SecureURL = SecureURL + "/Administration/Default.aspx";

  Response.Redirect(SecureURL, true);

然而,用户被重定向回登录页面,必须再次登录,然后才能访问管理员区域。

我如何强制用户在从HTTP切换到HTTPS时保持登录状态?


你是如何跟踪会话状态的?使用cookie吗?如果是,由于它不安全,所以cookie没有被发送回来。因此,你需要通过其他方法(隐藏字段/ URL参数/等)将会话传播到HTTPS端。但是随着Firesheep的发布,为了防止会话劫持,你所有的登录信息都应该在SSL下进行。 - Doon
2个回答


0

你没有将登录页面放在SSL下面,有特定的原因吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接