首页新闻找找看学习计划

.net core 使用cookie进行认证,IE浏览器无法登录

0
悬赏园豆:5 [已解决问题] 解决于 2018-05-29 15:06

  .net core 使用cookie进行认证,在Chrome、360等浏览器中登录正常。在IE浏览器中无法登录,抓包发现,没有把cookie发送给服务器。asp.net mvc中cookie在IE10上有类似问题,.net core 如何处理这个?

Impossible的主页 Impossible | 初学一级 | 园豆:70
提问于:2018-05-24 16:01
< >
分享
最佳答案
0

登录代码中有没有指定cookie的超时时间

await context.SignInAsync(
    CookieAuthenticationDefaults.AuthenticationScheme,
    claimsPrincipal,
    new AuthenticationProperties
    {
        IsPersistent = isPersistent,
        ExpiresUtc = DateTimeOffset.Now.Add(_cookieAuthOptions.ExpireTimeSpan)
    });
收获园豆:5
dudu | 高人七级 |园豆:39099 | 2018-05-24 16:54

指定了 在其他浏览器就没毛病

Impossible | 园豆:70 (初学一级) | 2018-05-24 21:53

@Impossible: 我们从没遇到过这个问题

dudu | 园豆:39099 (高人七级) | 2018-05-24 22:10

@dudu: 通过Fillder抓包发现

Chrome:

IE抓包:

明显缺少了cookie的一部分

Impossible | 园豆:70 (初学一级) | 2018-05-25 09:11

@Impossible: 这个根本不是登录cookie

dudu | 园豆:39099 (高人七级) | 2018-05-25 09:16

@dudu:wjlogin=CfDJ8FKrkNKldJFMng291rQiRC7lYGHUm2CUm3x2nAlU6whVFRUhHKb7AM_-BpjZDzLDAMOYPFaJD_dJxJd_HRe9b3Ax9r67NDtTz6RTVp5nbUCNLFKe5Hc_66T3WaLn332SM44xBYqYNk6vwTKQYjBgWVZ0MOsnYcb9UPJOlr6uQ4YkUBD1qfFFni2yefBWcppKt5zfBDqes6duFgjNv_p1cBaaYR2hUGeUZ5c7-tJ7W1KWmVaNsVeXJuhPgZTL-OGoFumac21SuGV9Hz7ZXG0JvrPXbJIHHtkYWjcqrkDxqBIWM7RlItJv83nE8z14jVtw_DWAJ8zxg7s0TzdlJQ1pmb-03rH6ve5F5NmztXVfLIncAIB192fX5y1SmeEvvRJNGq30lC68k5_a3FYx8xmWca_lUdhraxWm31d6qjbTtJ578vuICOA8aI4ORZE2w2oSF6wHj-j-c4S6YGXhKp7K97S_titmGZuCcx4_CcFMRWP6Uea1cnRGySrBV-1-qFjFGL1XifUZFUPz0MD--l7EG5JQHaUv5Ld98xD1__HlgMUkJCm0wrE1kymeOUUBxQWkSR6qGERDm_GLjNcLo1RWlfyD8ynPhRYkrHgzh93eialJ9hn1IVTAWsfyD8-_SBijabvj7EHZUh2n9oOK42TIDDH5F-yleAYweIrimNacjr8dVYs0R01ft5JvoxmTrZvZzDBwq1OmBi_CJzFec52ACh1YxE_qUffKPTX_jxPXGZq7Il_zDRUsMEc_JYiy4kbufkVMJn4NLnPLuUXyG9R5knIDQBNSSOc-V_ZS68395WQgD6afLCmtbtVKwlC63NKHrQRAhkWlzO0fenGQ3RXjB1eZ0d5CdsQhAflL7ckk9896mOPEc0U2msnm4Bb6eTrmgONwnp-wRn-0kZRtXM6s-C8

登录cookie是这个,但是在IE下也没有,抓包发现登录之后,进入了需要授权的页面,但是立马就返回登录页了。

Impossible | 园豆:70 (初学一级) | 2018-05-25 09:21

@Impossible: 看一下登录后服务器响应给IE的cookie的超时时间

dudu | 园豆:39099 (高人七级) | 2018-05-25 09:28

@dudu: expires=Fri, 25 May 2018 18:22:05 GMT; domain=; path=/; samesite=lax; httponly
这是服务器响应给IE的过期时间,设置的时间比较长。

Impossible | 园豆:70 (初学一级) | 2018-05-25 09:52

@Impossible: domain怎么是空,.AddCookie时需要设置options.Cookie.Domain

dudu | 园豆:39099 (高人七级) | 2018-05-25 10:01

@dudu: 汗,这个设置的有,在本地测试的时候去掉了,上传的时候忘了加上了。加上就好了,但是为啥在其他浏览器上就可以,IE就不行呢。

Impossible | 园豆:70 (初学一级) | 2018-05-25 10:06

@Impossible: 与众不同就是IE的特点

dudu | 园豆:39099 (高人七级) | 2018-05-25 10:27

@dudu: 哈哈,谢谢站长了。第一次用.net core正式开发项目,确实遇到了不少问题。

Impossible | 园豆:70 (初学一级) | 2018-05-25 10:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册