gpt4 book ai didi

asp.net - 加入 nhibernate 和 ASP.NET 成员/角色/配置文件服务的最佳实践

转载 作者:行者123 更新时间:2023-12-04 01:06:39 25 4
gpt4 key购买 nike

我有一个通用的 ASP.NET (MVC) 应用程序,它使用 NHibernate 作为模型持久层,使用 ASP.NET Membership/role/profile services 作为用户管理层。
问题是什么可以被视为在域数据和用户之间创建链接的最佳实践。 (例如,我想创建一个论坛系统,我想将每个主题/帖子链接到特定用户,并希望在每个请求时显示用户)。
这些是我一直在考虑的可能性:

  • 将用户 ID 存储在 NHibernate 中(例如在需要引用用户的所有域类(帖子、主题等)中都有一个 Guid 列)并在每次需要来自 guid 的用户名时使用 GetUser(这可能会导致在 n+1 个查询中)
    B 变体:也可以存储用户名。
  • 使用相同的数据库,并创建一个只读的 NHibernate 维护域对象 User,它映射到与 M/R/P 服务相同的数据。
  • 忘记 M/R/P 并基于 NHibernate 创建一个单独的用户管理服务
  • 忘记两者并使用 J2EE/RoR/merb/DJango/etc。 (请不要选择此选项:))
  • 其他...
  • 最佳答案

    我会进行第 2 步(几乎,因为它不一定需要是只读的)并为 NHibernate 创建一个自定义成员资格提供程序。

    为了节省时间,您可以使用现有的,例如 Manuel Abadia 中的那个。 .

    这样您就可以保持 NHibernate 的全部功能(延迟加载等)并享受 M/R/P 服务。

    关于asp.net - 加入 nhibernate 和 ASP.NET 成员/角色/配置文件服务的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1000204/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com