я использую этот код для входа в систему в моем API:
var ticket = new FormsAuthenticationTicket(
1,
CurrentCustommer.PhoneNumber,
DateTime.Now,
DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes),
false,
"user,user1",
FormsAuthentication.FormsCookiePath
);
var encryptedTicket = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)
{
HttpOnly = true,
Secure = FormsAuthentication.RequireSSL,
Path = FormsAuthentication.FormsCookiePath,
Domain = FormsAuthentication.CookieDomain
};
HttpContext.Current.Response.AppendCookie(cookie);
мой код веб-конфигурации:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" timeout="10080" slidingExpiration="true">
</forms>
</authentication>
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.2" />
<pages enableSessionState="true" validateRequest="false"></pages>
<sessionState mode="InProc" cookieless="false" timeout="10080" />
сейчас.пользователь после входа в систему и через несколько минут и обновления страницы или изменения страницы на сайте, Автоматически Журнал отключен;Я вижу файлы cookie, сохраненные через «document.cookie» в консоли Chrome.эта проблема не существует на локальном хосте, но при использовании сервера эта проблема показала: /
Кроме того, я добавляю, что я использую свою настроенную базу данных и не использую поставщика членства sql asp.net.
Нужно ли применять определенные настройки при вызове метода API для входа пользователя?Или мне нужно применить другие конфигурации?
На самом деле я не знаю, как решить эту проблему.
спасибо всем.
ОБНОВЛЕНИЕ: я проверяю аутентификацию пользователя по этому коду:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.User.Identity.IsAuthenticated)
{
//Page.Response.Redirect("/");
MainContainer.Visible = false;
Page.ClientScript.RegisterStartupScript(this.GetType(),
"CallMyFunction", "LoginForm()", true);
}
}
для получения дополнительной информации. И теперь я вижу Page.User.ExpireDate в вахте в Page_Load, на этот раз через 30 минут после входа в систему пользователя.