2013-06-20 119 views
0

我想擴展安全角色實體以包含一些與我的業務相關的自定義權限。例如,我可能想添加諸如'可以批准高達X $的訂單'或'可以更新名稱以Y開頭的銷售線索'(當然只是一些示例)。
然後,我會在工作流程,插件和iframe中使用這些權限,我將開發這些權限。擴展安全角色實體

我還沒有找到一個好辦法 - 據我所知,security role實體是不可定製的,所以我不能添加任何字段。
我想過創建一個自定義實體Role exstension,它將爲我保存這些數據,並且與security role將有1:1的關係。但是,我一直無法找到與role實體建立關係的方法。

任何人有任何想法?

+0

將它添加到SystemUser或Team而不是角色怎麼樣? –

回答

0

你是對的,你不能擴展安全角色實體。我建議設置一個名爲「角色擴展」的新實體(如您所述),並將其直接與用戶或具有N:N關係類型的團隊相關聯。然後,您可以使用內置的CRM子網格或小型Silverlight部件來管理角色

+0

因此,(你)提到的一部分。 –

0

我認爲您可以使用插件很好地實現這種功能。使用插件將規則嵌入到管道中,並確保您是否使用SDK,它們將被實現。

例如強制執行的規則,只有擁有角色「我的自定義銷售職責」的用戶可以批准超過5個產品

  • 爲了創建一個訂單狀態改變運行插件
  • 檢測,如果數量> 5
  • 如果不是,隨身攜帶的
  • 如果是這樣,讓執行用戶的GUID
  • 檢索用戶角色
  • 檢查「我的自定義銷售職責」
  • 允許的行動是否存在,如果不牛逼hrow exception'您沒有權限等等等等

這使您的規則保持在一個地方(單個庫可以封裝所有規則)。它的確取決於你有多少人,但將它們保留在管道中對我來說聽起來像是一個合理的方法。