首页新闻找找看学习计划

.net core 2.0 cookies问题

0
悬赏园豆:5 [待解决问题]

新建一个空的  没有验证的新项目

在Startup添加代码如下

public void ConfigureServices(IServiceCollection services)
{
// 添加 Cook 服务
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.SlidingExpiration = true;
options.Cookie.HttpOnly = true;
options.Cookie.SameSite = SameSiteMode.Lax;
options.Cookie.Path = "/";
options.LoginPath = "/Home/Index";
options.LogoutPath = "/Home/Index";
});

services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
// 使用Cook的中间件
app.UseAuthentication();
app.UseStaticFiles();

app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}

登录方法代码如下


var user = new ClaimsPrincipal(
new ClaimsIdentity(new[]
{
new Claim(ClaimTypes.Name, "username"),
}

, "Basic"));

await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user, new Microsoft.AspNetCore.Authentication.AuthenticationProperties
{

IsPersistent = true,
ExpiresUtc = DateTimeOffset.Now.Add(TimeSpan.FromDays(7)) // 有效时间
});

 

在需要验证权限的地方 头部加上这个属性     [Authorize]

 

运行起来 没问题 

查看浏览器cookies  

如下图

 

过期时间是 没问题  是 几天之后的 

 

但是 问题来了   页面 开着 不动  差不多 还不到一小时  在操作  竟然 退出了 

再次查看浏览器 cookies 发现 上图的东西还在 

那么为什么 cookies 都还在    竟然退出 没权限  是不是的设置什么   求解

 

 ps  特地测试了下 之前的  。net  franwork  版本的mvc项目  是没问题的

conan_lin的主页 conan_lin | 初学一级 | 园豆:5
提问于:2017-10-18 10:15
< >
分享
所有回答(2)
0

cookie发送到过去了吗?如果发送过去了,或许是解密cookie的时候导致的,查一下log。

blackheart | 园豆:1515 (小虾三级) | 2017-10-18 10:25

  [Authorize] 这个是自带的验证    没有自己做任何处理   加这个的 就退出了 

支持(0) 反对(0) conan_lin | 园豆:5 (初学一级) | 2017-10-18 10:30

@conan_lin: log呢,查一下log。

支持(0) 反对(0) blackheart | 园豆:1515 (小虾三级) | 2017-10-18 12:19

@Blackheart: 哪里的日志 ?  没有日志啊 

支持(0) 反对(0) conan_lin | 园豆:5 (初学一级) | 2017-10-18 12:40

@conan_lin: 配置一下log,会记录下来详细的请求信息。

支持(0) 反对(0) blackheart | 园豆:1515 (小虾三级) | 2017-10-18 16:51

@Blackheart: 请求的cookies  一样的  没错 

支持(0) 反对(0) conan_lin | 园豆:5 (初学一级) | 2017-10-18 17:15

@conan_lin: 查log啊,,,你怎么运行的,selfhost?iisexpress?还是iis?log会记录下来cookie验证失败的具体原因是什么。比如“Cookies was not authenticated. Failure message: Unprotect ticket failed”这类错误提示。

支持(0) 反对(0) blackheart | 园豆:1515 (小虾三级) | 2017-10-19 09:21

@Blackheart:  没有对应的错误  cookies  一直存在的   只是跳转到了 登录页 

支持(0) 反对(0) conan_lin | 园豆:5 (初学一级) | 2017-10-19 16:44
0

options.ExpireTimeSpan = TimeSpan.FromMinutes(1440);

挨踢新手 | 园豆:71 (初学一级) | 2017-10-18 16:13

 一样的

支持(0) 反对(0) conan_lin | 园豆:5 (初学一级) | 2017-10-18 16:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册