我有一个方法,我想限制由扮演"学生"角色的人使用。我想探索不同的方法来做到这一点。
首先我知道我可以这样装饰的方法:
[Authorize(Roles = "Student")]
如果我知道"学生"角色的RoleId为4,如果我知道用户的UserId为2,则:
这种方法的装饰是否比允许每个用户进入角色,然后根据我的身份2进行选择数据库,以查看用户2在AspNetUserRoles中的角色ID是否为4桌子
仅供参考,我正在使用带有ASP.Net Identity 2.1和令牌承载身份验证的WebAPI。我的所有用户都通过web浏览器前端访问。如果没有缓存,但有一种打开缓存的方法,我将感谢任何人的建议,如果默认情况下没有启用,他们可以帮助我如何使用它。
您可以使用CacheRolesInCookie
从web.config启用角色提供程序的缓存功能。有关详细信息,请参阅此链接。
或者,您可以始终覆盖默认的角色提供程序(有关更多详细信息,请参阅此链接),但我想这并不完全是您想要的。。。