【问题标题】:Handling user security scope with nHibernate or other ORM使用 nHibernate 或其他 ORM 处理用户安全范围
【发布时间】:2010-06-05 06:56:45
【问题描述】:

应该如何处理您可能需要按一组用户进行过滤的情况。 这是场景。

我在公司担任管理员角色。我应该能够看到属于我的所有数据以及我可以控制的所有其他用户。

然而,一个普通的老用户应该只能访问他们自己的数据。

如果您正在编写常规 sql 语句,那么您可以为每个用户以及他们也有权访问的用户创建一个安全表,但我不确定如何在 OO 和 ORM 世界中处理这种情况。

有人在使用 ORM 的 Web 应用程序中处理过这种情况吗? 很想听听你的想法!

【问题讨论】:

  • 无论您是否使用 ORM,您的数据库设计都应该相同。也就是说,您需要发布一个表结构,然后有人会帮助您使用 nHibernate 编写正确的 c# 代码以返回所需的查询。
  • @Spencer Ruport。我不同意,因为我使用 ORM 生成我的数据库模式。 C# 代码应该是相同的,并且数据库设计应该是针对特定 ORM 的最佳设计。
  • @Paco - 所以你优化工具而不是应用程序性能?也许这是一个意见问题,但这对我来说似乎倒退了。
  • @Spencer。是的,这是向后的方法。我不针对工具或应用程序性能进行优化,而是针对最容易编写和最容易阅读的代码(并且尽可能多地独立于工具)。我使用分析器测量应用程序性能并更改太慢的部分(少于代码的 1%)。性能优化有时会降低代码的灵活性。我只在测量速度太慢而无法保持代码尽可能灵活时才优化性能。

标签: c# asp.net security nhibernate orm


【解决方案1】:

我相信 NHibernate Filters 会帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2016-01-27
    • 2017-09-06
    • 1970-01-01
    • 2014-11-11
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多