如何扩展asp.net User.Identity属性?

Adi*_*dir 4 c# asp.net

不是在谈论asp.net会员资格.

对于每个记录的用户,我想从db中缓存一些属性,如状态或朋友请求的数量.

我可以创建自定义类,但我认为扩展现有的User.Identity属性会更好.
像这样的东西:

Label1.Text = User.Identity.Status;
Run Code Online (Sandbox Code Playgroud)

有可能的?

Rus*_*Cam 5

可以通过定义自己的IIdentity(也可能是IPrincipal)并在IPrincipal为HTTP请求创建时构造它.我相信这样做的正确位置是PostAuthenticateRequest事件发生时.

关于这个其他stackoverflow问题的答案解释了如何做到这一点 - ASP.NET设置自定义标识或主体(它表示对于MVC但都经历了相同的处理管道).