【发布时间】:2018-06-15 15:28:56
【问题描述】:
我正在涉足 ASP.NET Core,我正试图围绕身份授权层,以及如何确保我的 cookie 声明保持最新。
我正在使用默认的身份层和 cookie。因此,根据我已经能够调试并弄清楚的是,当我登录时,框架会从数据库中获取所有这些数据,例如他们所处的角色,并将其放入 cookie 中。然后,如果我停止调试并重新启动它,我的 cookie 仍然存在,因此我们不必返回数据库(据我所知)。这很好,但是......我如何让我的角色保持最新。这意味着,如果在创建 cookie 后数据库中的角色发生了变化怎么办。
例如,如果经理介入并改变员工的角色会怎样。我们如何确保员工 cookie 知道角色已更改并需要重新获取用户?
【问题讨论】:
-
已经有一个内置的机制使cookies失效,即安全标记。更改角色时,应使用数据库中的新 GUID 对其进行更新。安全标记也存储在 cookie 中,并以预定义的时间间隔(默认 30 分钟)与数据库中的时间间隔进行比较,以检查 cookie 的有效性。
标签: c# asp.net-core .net-core claims-based-identity