2014-10-27 56 views
3

我有一个方法,我想限制由具有“Student”角色的人员使用。我想探索不同的做法。当检查[Authorize(Roles =“Student”)]时,asp.net是否执行任何缓存?

首先,我知道我可以装点像这样的方法:

[Authorize(Roles = "Student")] 

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

是方法的装饰更高效不是让每个 用户进入角色,然后做一个选择对我的身份2 数据库,以查看该用户2具有4在AspNetUserRoles一个角色ID表。

作为一个供参考我使用WebAPI与ASP.Net身份2.1和令牌承载认证。我的所有用户都可以通过网络浏览器前端访问。如果没有缓存但是有一种切换缓存的方法,我将非常感谢来自任何人的建议,如果这个默认情况下没有启用,可以帮助我建议如何使用它。

回答

2

您可以使用​​从web.config启用角色提供程序的缓存功能。有关更多详细信息,请参见this link

或者你总是可以覆盖默认的角色提供(见this link有详细介绍),但我想这不正是你在后找什么...

相关问题