检查 [授权(角色 = "Student" )] 时,asp.net 是否执行任何缓存



我有一个方法,我想限制由扮演"学生"角色的人使用。我想探索不同的方法来做到这一点。

首先我知道我可以这样装饰的方法:

  [Authorize(Roles = "Student")]

如果我知道"学生"角色的RoleId为4,如果我知道用户的UserId为2,则:

这种方法的装饰是否比允许每个用户进入角色,然后根据我的身份2进行选择数据库,以查看用户2在AspNetUserRoles中的角色ID是否为4桌子

仅供参考,我正在使用带有ASP.Net Identity 2.1和令牌承载身份验证的WebAPI。我的所有用户都通过web浏览器前端访问。如果没有缓存,但有一种打开缓存的方法,我将感谢任何人的建议,如果默认情况下没有启用,他们可以帮助我如何使用它。

您可以使用CacheRolesInCookie从web.config启用角色提供程序的缓存功能。有关详细信息,请参阅此链接。

或者,您可以始终覆盖默认的角色提供程序(有关更多详细信息,请参阅此链接),但我想这并不完全是您想要的。。。

最新更新