Pahi2317 Ответов: 0

Запрос логина каждый раз после входа в систему при переключении на другую страницу на производстве


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

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

страница входа -
protected void btnLogin_Click(object sender, EventArgs e)
        {
            String strCheckStatus = String.Empty;
            g_strContact = txtPhone.Text;
            String strLoginPassword = txtPassword.Text;

            List<SqlParameter> parameters = new List<SqlParameter>
               {    
                  new SqlParameter("@P_MOBILE_NO", g_strContact),
                  new SqlParameter("@P_PASSWORD", strLoginPassword),
                };
            strCheckStatus = ExecuteQueryStoredProcedure(strUSP_SEC_LOGIN_PROCESS, parameters);
            if (strCheckStatus == "0")
            {
                //login successfull
                Session["Name"] = g_strName;
                Session["MobileNumber"] = g_strContact;
                Session["SlabType"] = g_strSlabType;
                Session["UserType"] = g_strUserType;
                Session["AssociateMobileNo"] = g_strContact;
                if (g_strUserType == "Admin")
                {
                    FormsAuthentication.RedirectFromLoginPage(Session["MobileNumber"].ToString(), false);
                }
}
}


Сеанс поддерживается на каждой странице в событии загрузки страницы-

protected void Page_Load(object sender, EventArgs e)
     {
         if (Session["MobileNumber"] != null)
         {
             lblMobile.Text = Session["MobileNumber"].ToString();
         }
         else
         {
             var returnUrl = Server.UrlEncode(Request.Url.PathAndQuery);
             Response.Redirect("~/Login.aspx?ReturnURL=" + returnUrl);
         }

         if (!this.IsPostBack)
         {
             PopulateGrid();
             PopulateData();
         }
     }

F-ES Sitecore

Проверьте, не является ли это проблемой кэширования, используя вкладку Сеть инструментов браузера (f12), чтобы увидеть код ответа для страницы, которая перенаправляет на вход в систему. Если он был извлечен из кэша, то браузер просто предполагает, что при перенаправлении в последний раз он должен перенаправить снова. Если это проблема кэширования, то есть способы решить ее, но сначала вам нужно выяснить, является ли это проблемой.

F-ES Sitecore

Я ничего не могу придумать, если только вы не используете веб-ферму или балансировщик нагрузки, который не использует "липкие" сеансы. Возможно, вам придется еще немного изучить веб-вызовы, посмотреть, какие файлы cookie возвращаются с сервера и отправляются с последующими запросами. Как правило, если сервер не подтверждает ваш сеанс, это как-то связано с файлами cookie или идентификатором сеанса.

Pahi2317

сэр все еще получаю ту же проблему пожалуйста помогите мне

ZurdoDev

Это может быть тайм-аут сеанса. Или пул приложений простаивает. Или код плохой. Трудно сказать, когда мы ничего не видим. проверьте журналы событий, чтобы узнать, перезапускается ли пул приложений.

0 Ответов