1

我正在为 ASP.NET MVC 项目使用(代码优先)实体框架 4.3,并希望实现 Rhino Security 提供的基于权限的细粒度授权功能

虽然它是唯一可用的基于权限的 Lib,但尚未移植到 EF。可能是什么原因,

  1. 这样的 Permission Framework 不是项目中常见的需求,所以没那么出名
  2. 实体框架没有那么有效,因此不如 NHibernate 无处不在
  3. Rhino Repository 与 NHibernate 紧密结合,无法简单地将其移植到 EF

最重要的是,如果我真的坚持将它与 EF 一起使用,并且如果您告诉我这是不可能的,请您帮我理解为什么。如果你的答案是肯定的,你能帮我解决一下如何做吗


任何其他想法请

如果我真的开始使用 EF 实现它,那将是徒劳的。我将面临的任何并发症。

由于我只是 Entity Framework 和 MVC 的新手,有什么我忽略的吗。所以,请帮助我所有的天才。

任何想法如何开始?

4

2 回答 2

3

我的意见:

不能直接移植。Rhino-Security 遵循从域模型中分离(抽象)安全性的概念。这种分离是通过IUser接口完成的。在你的类中实现IUser接口User将是你的域模型和框架提供的安全基础设施之间的唯一连接。问题来了。EF 当前不支持接口,因此您不能在映射中使用接口代替真实实体类型,并且不能将接口代替真实实体类型作为实体中的导航属性。因为 Rhino-Security 不能移植到 EF 而不削弱其主要思想 - 您必须User直接在移植的安全库中创建实体,所有应用程序都必须依赖于它User执行。

于 2012-03-20T09:11:27.153 回答
1

我会说第三个答案:

Rhino Repository 与 NHibernate 紧密结合,无法简单地将其移植到 EF

我不确定这背后的原因是什么,但我确信它与 NHibernate 密切相关(或基于 NHibernate 的 Castle Active Record)

于 2012-03-20T09:10:29.693 回答