使用SSL时,新的会话ID创建者不起作用

时间:2018-12-31 13:43:35

标签: c# asp.net session ssl https

我想在每次登录每个用户之前或之后给出一个新的会话ID。我使用Asp.net,IIS 8.0和Windows 2012 Server。

我用这种方法

  protected void Page_Load(object sender, EventArgs e)
{
        Session["userid"] = txt_user_name.Text;
        if (Session["userid"] != null && Session["AuthToken"] != null && Request.Cookies["AuthToken"] != null)
        {
            if (!Session["AuthToken"].ToString().Equals(Request.Cookies["AuthToken"].Value))
            {
                lbl_message.Text = "NOT LOGIN";
            }
        }
        if (txtInput.Text == "")
        {
            CreateSesstion_Click(sender, e);  // This method Generate new Session Id

        }
        if (!IsPostBack)
        {
             Captcha();

        }

}

 protected void CreateSesstion_Click(object sender, EventArgs e)
{

    SessionIDManager manager = new SessionIDManager();

    string newID = manager.CreateSessionID(Context);
    bool redirected = false;
    bool isAdded = false;
    manager.SaveSessionID(Context, newID, out redirected, out isAdded);
    HttpContext.Current.Session["x"] = 123;

}

此方法在发布之前可以正常工作,但是在发布后(当该站点使用HTTPS运行时)失败,并且无法识别新的会话ID。并犯了一个错误。 如果打开时没有SSL,则可以正常运行

请帮助我

感谢

0 个答案:

没有答案