c# - 如何在 .net windows 窗体应用程序中将访问控制与我的 ORM 集成?

标签 c# database orm access-control

我正在开发一个通用的数据库查询工具,一个 .Net 3.5 Windows Form 应用程序。为了使表现层独立于数据库层。我使用 ORM 框架,即来自 DevExpress 的 XPO。

但是,我并没有内置访问控制功能。我在网上冲浪,发现在WCF Data Services中,有一个有趣的概念,Interceptor,它遵循AOP(Aspect Oriented Programming)。

不知谁有这样的经验,在ORM中构建访问控制。我的基本要求是:

  1. 它应该是一个通用的方法,在运行时由用户控制。因此,任何硬编码都是 Not Acceptable 。
  2. 它可以基于属性、数据库表,甚至是外部程序集。

我愿意购买现成的解决方案。根据 AOP 的思想,访问控制功能可以很容易地与现有功能集成,并且以前的开发人员几乎不知道;)

欢迎提出任何建议。

最佳答案

我不确定这个答案对您的情况是否有帮助,但您可能会感兴趣。

X-tensive 公司(DataObjects.Net ORM 的开发者)计划在几个月内为 DataObjects.Net 实现类似的功能。 X-tensive 的计划是提供全功能的即用型安全扩展,可能基于属性和方面。当然它会与这个 ORM 紧密相关,但是你可以从它的描述中得出一些想法。查看功能请求及其讨论 here .

你也可以看看Rhino Security ,我不知道这个项目的当前状态,但它接缝这样的解决方案对你的情况很有用。

关于c# - 如何在 .net windows 窗体应用程序中将访问控制与我的 ORM 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2376796/

相关文章:

c# - 更改 JSON 文件中的值(写入文件)

C# 结构泛型构造函数

sql - 减少 DB2 列长度的方法

javascript - 无法通过 Node.js 中的 Sequelize 从数据库中选择数据

java - Java Persistence API 中 FetchType LAZY 和 EAGER 的区别?

c# - Html.ListBoxFor() 的 ASP.NET MVC 问题

c# - 无法使用数据注释

php - MySQL 错误代码 1054 ......需要帮助的新手

php - 搜索具有相似标签 ID 的记录

sql - Django与select_related的反向关系