我有asp.net core 1.1
应用程序,并且我将会话超时设置为3个小时。因此,我希望会话中的数据将保留3个小时。
public void ConfigureServices(IServiceCollection services)
{
// authorization
services.AddAuthorization();
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
})
services.AddKendo();
services.AddSession();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//configure identity server 3
app.UseIdentityServer(Configuration["Identity:Authority"],
Configuration["Identity:ClientId"],
Configuration["Identity:PostLogoutRedirectUri"],
domainService);
app.UseSession(new SessionOptions()
{
IdleTimeout = new TimeSpan(3, 0, 0)
});
app.UseMvc(routes =>
{
});
// Configure Kendo UI
app.UseKendo(env);
}
但是,在保持理想状态20分钟之后,用户会话会超时
该应用使用IdleTimeout属性来确定会话多长时间 可以在服务器缓存中的内容被放弃之前处于空闲状态。 此属性与Cookie的有效期无关。
因此,数据超时,而会话cookie超时。但是,基于issue 169,您无法设置会话Cookie的超时时间。
我的应用程序也正在使用IdentityServer 3,并创建具有较长超时(超过3小时)的身份验证cookie。而且我不认为身份验证cookie与会话cookie有任何关系。
问题
我还需要其他与会话相关的其他设置吗?
我如何检查特定Cookie的到期时间。在服务器上,我在Request.Cookies
中看不到该信息。它只是键值对。