2

我已经实现了我设置的自定义 IPrincipal

 protected void Application_PostAuthenticateRequest(Object sender, EventArgs args)

通过做

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

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

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

编辑:愚蠢的我。会话在这种方法中甚至不可用,应该在发布问题之前进行测试。

但问题仍然存在..

4

1 回答 1

1

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

于 2011-06-14T02:38:47.673 回答