Bra*_*ery 6 asp.net cookies forms-authentication roleprovider
我已经实现了一个自定义角色提供程序,并在我的web.config文件中配置它,如下所示:
<roleManager enabled="true" defaultProvider="TDRoleProvider" cacheRolesInCookie="true">
<providers>
<clear/>
<add name="TDRoleProvider" type="TDRoleProvider"/>
</providers>
</roleManager>
Run Code Online (Sandbox Code Playgroud)
我已经覆盖了我的自定义角色提供程序中的GetRolesForUser函数,我已经介入它,它运行得很好 - 为我正在测试的用户加载了60个角色.但是,我注意到每次调用User.IsInRole的请求都会调用GetRolesForUser.在我编写的其他应用程序中,它只调用一次,然后将结果缓存在cookie中.出于某种原因,缓存不适用于此应用程序.任何想法为什么?
“RolePrincipal 中何时缓存(或不缓存)的问题经历了多次设计迭代,我们最终决定只缓存 IPrincipal 接口公开的方法(即 IsInRole)。”
| 归档时间: |
|
| 查看次数: |
2817 次 |
| 最近记录: |