2

我需要针对将在我的 Web 应用程序上执行的每个操作中使用的用户存储一个 ID。我曾希望使用自定义授权ActionFilterAttribute(在整个控制器上)来填充ViewData这个附加信息,但事实证明,在这些东西之前运行了整个堆栈,ActionFilterAttributes例如模型绑定、控制器构造

我想也许有一种方法可以扩展HttpContext.User.Identity来存储额外的数据,但甚至不知道从哪里开始。

有任何想法吗?

4

2 回答 2

1

解决方案
环顾 StackOverflow 的更多细节,我遇到了这个解决方案,它完全符合我的要求,并且以一种超级干净和正确的方式(提示:它使用- https://stackoverflow.com/a/10524305/175893userData的属性FormsAuthenticationCookie

于 2012-11-09T10:11:55.450 回答
0

一种选择是拥有一个全局(静态)ConcurrentDictionary并在那里存储有关身份/用户的任何其他信息 - 使用方便的任何内容作为密钥......因为这个字典是线程安全的并且主要实现无锁,它提供了出色的性能。 .. 这样你就不需要弄乱任何 ASP.NET 特定的东西了......

于 2012-11-07T12:48:43.427 回答