asp.net - 自定义IIdentity或者IPrincipal或者其他

  显示原文与译文双语对照的内容

我发现在当前正在使用的应用程序中,我正在几乎每个控制器中检索几个实体( 与已经验证的用户帐户相关) 。 然而,这些实体会在身份验证时加载一次,并将一些属性添加到应用程序。

我想的另一个选项是创建定制上下文对象( 。使用用户相关的帐户对象) 并将它的传递给当前请求。

这两种方法的优缺点是什么是否还有另一种处理常用对象的方法?

时间:

听起来你错过了在每个请求中重新创建 x11/upon实例的事实。 如果不以显式方式持久化它,它不会被持久化。

我不认为保存缓存的环境属性的自定义主体类之间存在性能差异。

另一方面,自定义认证类的缺点是你必须提供自定义认证模块,以便在处理管道中的AuthenticateRequest 事件中重新创建这些实例。 换句话说,你必须用你自己的名字替换 FormsAuthenticationModule 。 虽然不是很难,但如果不是绝对必要的话,我不会这么做。

注意,某些数据可以保存在表单cookie的UserData section中。 这意味着只要cookie有效,就可以创建它,并且只创建一次。

...