Arnab Kundu Ответов: 1

Загрузить файл cookie перед загрузкой страницы


У меня есть функция загрузки файлов cookie, разработанная для функции «Запомнить меня» на моем сайте. Он работает нормально, но одна проблема заключается в том, что когда сайт загружается в первый раз, скажем, конечный пользователь установил раздел «запомнить меня», затем войдет на сайт, после его использования он / она закрывает браузер, после того, как он / она открывает браузер а затем попытайтесь загрузить сайт, файл cookie загружается, но в качестве времени загрузки cookie устанавливает значения сеанса, чтобы пользователь мог видеть кнопку входа в систему, в следующий раз, когда конечный пользователь щелкнет любую область для взаимодействия с сайтом после 2-й страницы загрузить, чтобы пользователь увидел, что он / она вошел в систему, это проблема, есть ли способ обработать файл cookie до загрузки страницы, чтобы он устанавливал сеанс до загрузки страницы, и пользователь мог видеть, что он / она вошел в систему первые попытки

Что я уже пробовал:

================= код JavaScript ======================
$(document).ready(function () {
    LoadCookies();
});
function LoadCookies() {
    $.ajax({
        type: "POST",
        url: "index.aspx/LoadCookie",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: onSuccess,
        failure: function (response) { alert("write log failure " + response.d); }
    });
    function onSuccess(response) {
        console.log(response.d);
    }
}

==================================================
=============== asp.net код======================
[System.Web.Services.WebMethod(EnableSession = true)]
        [System.Web.Script.Services.ScriptMethod()]
        public static void LoadCookie()
        {
            BidderBL objBidderBL = new BidderBL();
            if (HttpContext.Current.Request.Cookies["LoginCookie"] != null)
            {
                if (HttpContext.Current.Request.Cookies["LoginCookie"].Values["UserName"] != null)
                {
                    string Email = HttpContext.Current.Request.Cookies["LoginCookie"].Values["UserName"].Trim().ToString();
                    string Password = HttpContext.Current.Request.Cookies["LoginCookie"].Values["Password"].Trim().ToString();
                    string UserType = "1";
                    DataTable dtLogin = objBidderBL.GetLoginUser(Email, Password, UserType);
                    if (dtLogin != null && dtLogin.Rows.Count > 0)
                    {
                        HttpContext.Current.Session["UserType"] = "Bidder";
                        HttpContext.Current.Session["UserName"] = Convert.ToString(dtLogin.Rows[0]["PreferredName"]);
                        HttpContext.Current.Session["UserId"] = Convert.ToString(dtLogin.Rows[0]["BidderId"]);
                    }
                }
            }
        }

1 Ответов

Рейтинг:
1

F-ES Sitecore

Самый простой способ справиться с этим-просто перенаправить человека после входа в систему. Поэтому перенаправьте их либо на ту же страницу, на которой они были, либо на страницу типа "Мой аккаунт", чтобы сайт работал в обычном режиме без особых изменений.

Кроме того, я надеюсь, что вы не храните пароль в файле cookie в виде обычного текста?


Arnab Kundu

Спасибо за ваш ответ . Да, я храню пароль в файле cookie в виде обычного текста, я просто хочу прояснить одну вещь, в моем потоке я не могу перенаправить на любую страницу. Скажем, если пользователь устанавливает опцию запомнить меня, тогда в следующий раз, когда он войдет в систему на сайт ему / ей, вероятно, нужно увидеть, что он / она уже вошел на сайт, так как срок действия моего файла cookie истечет через 15 дней, моя проблема в том, что я получаю значение cookie при первой загрузке и устанавливаю сеанс значение в это время, так что в первый раз пользователь не может видеть, что он / она вошел в систему на самом деле. По мере того, как сеанс устанавливается при первой загрузке, когда он / она щелкает в любом месте, чтобы перезагрузить любую страницу снова, он / она будет возможность видеть, что он / она вошел в систему, мне нужно исправить таким образом, прежде чем страница загрузится, я должен установить значения сеанса