【发布时间】:2011-01-03 20:25:06
【问题描述】:
我正在开发一个相当大的网络应用程序。已通过 ASP.NET 成员资格和角色提供程序定义了多个访问级别。个人用户也有个人资料(我已将其扩展为包含各种任意信息)。
问题是如何在回发之间保留用户?
我可以使用 HttpContext.Current 之类的东西来存储用户,但它的生命周期只是从一个回发到另一个。我的理解是,我必须在回发 (OnInit/PageLoad) 开始时检索用户对象,然后在每次回发结束时将其放回 HttpContext 中。似乎有点低效。
(我想知道我是否可以使用 HttpModule 来做到这一点?)
此外,即使在 ASP.NET 中有一个静态 CurrentUser 实例,它也只是一个通用用户。我需要携带整个配置文件(我在 SQL 中创建的)。
回顾一下,问题是:a) 是否可以扩展 ASP.NET 提供的静态 CurrentUser 实例,以便它可以携带任意信息,同时通过正常渠道持久保存?如果否,我如何在用户会话期间保留此类静态信息(直到用户注销,或者 global.asax 触发 Session Expire/Timeout 事件)?
任何帮助将不胜感激! 谢谢! 噼里啪啦
【问题讨论】:
-
我忘了说我不能使用会话状态或视图状态。