内部部署 Dynamics CRM 2011。
我有一个插件,可以在案例/事件表单的功能区中添加一些按钮。
不同的用户有不同的安全权限。
这些按钮对所有用户启用。
当一些用户按下按钮时,他们会执行预期的操作。
当其他用户按下按钮时,他们似乎没有做任何事情。
除了权限之外,我认为其他一切对用户来说都是一样的。
如何找到导致问题的权限?
(另外,如果权限阻止用户做某事,CRM 不应该说些什么吗?我们没有收到错误消息。)
内部部署 Dynamics CRM 2011。
我有一个插件,可以在案例/事件表单的功能区中添加一些按钮。
不同的用户有不同的安全权限。
这些按钮对所有用户启用。
当一些用户按下按钮时,他们会执行预期的操作。
当其他用户按下按钮时,他们似乎没有做任何事情。
除了权限之外,我认为其他一切对用户来说都是一样的。
如何找到导致问题的权限?
(另外,如果权限阻止用户做某事,CRM 不应该说些什么吗?我们没有收到错误消息。)
来自 Suumit Bhatanagar,网址为https://community.dynamics.com/crm/f/117/p/113149/228873.aspx
您可能会收集详细级别的痕迹,会指引您朝着正确的方向前进。只需单击按钮即可重现问题,然后停止跟踪。
对于痕迹,您可以查看:http: //support.microsoft.com/kb/907490
Xrm工具箱有一个访问检查器,可以在这种情况下提供帮助。
查询数据时,CRM 中的安全性工作方式是,如果用户尝试对他们完全没有读取权限的实体执行选择,您确实会遇到异常。但是,如果用户有权仅查看他们拥有的记录,那么如果他们尝试查询他们不拥有的记录,他们将获得一个空的结果集。我猜这就是这里发生的事情,他们正在尝试查询具有读取权限的数据,但不是在组织级别,或者他们需要的任何确切级别。
来自http://social.microsoft.com/Forums/en-US/55c22571-0187-4a64-9cc1-94954fa8bdf7/how-to-find-which-security-permission-is-preventing-a-user-from的 DavidJennaway -做某事
启用跟踪,跟踪日志将指示 privilegeid 和 systemuserid - 然后您可以在权限实体中查找 privilegeid。
请注意,跟踪日志将记录用户没有权限的所有实例 - 这包括 CRM 检查用户是否对实体有任何权限以决定该实体是否应显示在 UI 中的场景
来自 Roshan Mehta,网址为http://social.microsoft.com/Forums/en-US/55c22571-0187-4a64-9cc1-94954fa8bdf7/how-to-find-which-security-permission-is-preventing-a-user-从做某事
检查事件查看器。当插件无法在用户上下文下运行时,这通常会提供有关缺少权限的足够信息。
或者,您可以在 SYSTEM 上下文下运行插件,在这种情况下不会发生此错误。为此,请在插件中实例化服务对象时将空值传递给 CreateOrganizationService 方法。
来自http://social.microsoft.com/Forums/en-US/55c22571-0187-4a64-9cc1-94954fa8bdf7/how-to-find-which-security-permission-is-preventing-a-user的 Imran I Abbasi -从做某事
大卫是对的,没有更简单的方法可以找到问题的根源。启用跟踪,然后使用跟踪文件中的 privilegeId(一个 GUID)针对数据库中的 Privilege 实体来获取缺少权限的详细信息。为了简化您的任务,您可以使用 TraceLogViewer 过滤您的日志文件并仅获取错误。这是链接:跟踪日志查看器
以下是在 crm 2011 中启用跟踪的步骤
这是步骤
1- -> 开始 -> 运行 -> regedit.exe 2- HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > MSCRM 3- 添加新密钥
TraceEnabled TraceRefresh
双字,值 = 1