我想在每次登录每个用户之前或之后给出一个新的会话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,则可以正常运行
请帮助我
感谢