【发布时间】:2012-11-21 10:02:51
【问题描述】:
我正在开发一个门户系统来共享信息和文档等。每个用户可以有多个配置文件。每个配置文件因此可以具有不同的角色和权限。现在一切正常,但我对 MembershipProvider 和 MembershipUser 有疑问。
我将自定义 MembershipProvider 和 MembershipUser 与 OpenAccess ORM 结合使用。
我非常依赖(CustomMembershipUser)Membership.GetUser()。例如,我构建了一个用户菜单,他们可以在其中查看他们登录的用户以及他们可以从哪些配置文件中选择。
要构建此菜单并收集当前配置文件的组、角色和权限,需要从代码中的不同位置多次调用Membership.GetUser()。我首先缓存了用户并根据 ProviderUserKey 返回了这个,但我被告知这是不安全的。所以我删除了缓存,但速度要快得多。是否有替代的最佳实践?
【问题讨论】:
-
我正在考虑将 Membership.GetUser() 存储在 HttpContext.Items["MembershipUser"] 中,这将减少对每个请求的调用。不确定这是否是一个安全的解决方案。
标签: c# asp.net asp.net-membership telerik-open-access