Owin记得浏览器到底做了什么?

时间:2015-08-25 15:31:18

标签: asp.net-mvc owin asp.net-identity-2 authorize

在标准ASP.Net MVC Identity 2.0 Owin实现的几个地方,你会看到rememberBrowser,如:

await signInManager.SignInAsync(user, isPersistent: isPersistent, rememberBrowser: false);

如果你将rememberBrowser设置为true,我注意到我可以杀死浏览器,杀死IIS Express,删除浏览器登录的用户,甚至重启我的机器,浏览器仍被视为登录。不太好,考虑到被删除的用户被视为授权/登录会导致[Authorize]属性后面的代码中的各种问题,这些问题需要有效的用户使用。

那么rememberBrowser究竟做了什么,是否有人冒险将cookiesBrowser伪造成绕过OWIN登录?似乎[Authorize]的目的是保证除登录用户之外没有人访问给定的Controller Action,并且rememberBrowser似乎是该保证中的漏洞。

奖金问题:有没有办法禁用rememberBrowser,这样即使伪造的cookie确实进来,它也会被拒绝?

1 个答案:

答案 0 :(得分:7)

我认为 rememberBrowser 仅与双因素身份验证相关。因此,如果将其设置为true,浏览器将获取 TwoFactorRememberBrowser cookie,允许用户在登录过程中跳过2FA身份验证(如果已启用)。

  

有没有办法禁用rememberBrowser,即使是伪造的   cookie确实进来了,它会被拒绝吗?

从rememberBrowser创建的cookie与身份验证cookie一起使用。它只允许用户跳过2FA,因此没有首先进行身份验证就没用了。