【问题标题】:Does asp.net do any caching when checking for [Authorize(Roles = "Student")]asp.net 在检查 [Authorize(Roles = "Student")] 时是否进行任何缓存
【发布时间】:2014-12-22 14:58:57
【问题描述】:

我想限制具有“学生”角色的人使用的方法。我想探索不同的方法来做到这一点。

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

  [Authorize(Roles = "Student")]

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

方法的装饰比允许每个方法更有效 用户进入角色,然后对我的身份 2 进行选择 数据库查看用户 2 在 AspNetUserRoles 中的 roleId 是否为 4 表。

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

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc asp.net-web-api


    【解决方案1】:

    您可以使用CacheRolesInCookie 从 web.config 启用角色提供程序的缓存功能。详情请见this link

    或者,您始终可以覆盖默认角色提供程序(有关更多详细信息,请参阅this link),但我想这并不是您所关心的......

    【讨论】:

      猜你喜欢
      • 2023-02-02
      • 2011-07-24
      • 1970-01-01
      • 2013-09-06
      • 2023-03-11
      • 2019-11-02
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      相关资源
      最近更新 更多