缓存asp.net mvc网站的自定义IPrincipal的最佳方法是什么?

时间:2011-06-14 02:25:30

标签: c# asp.net-mvc session iprincipal

我已经实现了我在

中设置的自定义IPrincipal
 protected void Application_PostAuthenticateRequest(Object sender, EventArgs args)

Context.User = GetCustomPrincipal(User.Identity);
Thread.CurrentPrincipal = Context.User;

但是我的自定义主体访问数据库并获取有关用户的自定义信息。我不希望它为每个请求重复访问数据库。

缓存此内容的最佳方法是什么? 我在考虑将它存储在Session中,这是一个好主意吗?

编辑:愚蠢我。此方法甚至无法使用Session,应该在发布问题之前进行测试。

但问题仍然存在..

1 个答案:

答案 0 :(得分:1)

标准方法是将数据存储在auth cookie中。如果您不使用cookie,则可以将数据存储在会话中。