扩展安全角色实体

时间:2013-06-20 09:13:21

标签: dynamics-crm-2011

我想扩展安全角色实体,以包含一些与我的业务相关的自定义权限 例如,我可能想要添加诸如“可以批准最​​多X $的订单”或“可以更新名称以Y开头的订单”这样的内容(当然只是一些示例)。
然后,我将在我将开发的工作流,插件和iframe中使用这些权限。

我还没有找到一个好方法 - 据我所知,security role实体不可自定义,所以我无法添加任何字段。
我考虑过创建一个自定义实体Role exstension,它将为我保存这些数据,并与security role保持1:1的关系。但是,我无法找到与role实体建立关系的方法。

有人有任何想法吗?

2 个答案:

答案 0 :(得分:0)

您是对的,您无法扩展安全角色实体。我建议设置一个名为“Role Extension”的新实体(正如您所提到的)并将其与直接用户或具有N:N关系类型的团队相关联。然后,您可以使用内置的CRM子网格或小型Silverlight部件来管理角色

答案 1 :(得分:0)

我认为你可以很好地使用插件实现这种功能。使用插件将规则嵌入到管道中,并确保如果您使用SDK,它们将被实现。

e.g。强制规则,只有具有“我的自定义销售角色”角色的用户才能批准超过5种产品的订单

  • 创建在订单状态更改时运行的插件
  • 检测数量是否> 5
  • 如果没有,请随身携带
  • 如果是,请执行用户guid
  • 检索用户角色
  • 检查“我的自定义销售角色”
  • 允许操作,如果存在,如果没有抛出异常'你没有权限blah blah'

这可以将您的规则保存在一个位置(单个库可以封装所有规则)。它确实取决于你有多少,但保持它们在管道中听起来像是一种合理的方法。