Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dynamics 365客户端Javascript web资源未为非系统管理员用户下载_Javascript_Dynamics Crm_Microsoft Dynamics_Webresource - Fatal编程技术网

Dynamics 365客户端Javascript web资源未为非系统管理员用户下载

Dynamics 365客户端Javascript web资源未为非系统管理员用户下载,javascript,dynamics-crm,microsoft-dynamics,webresource,Javascript,Dynamics Crm,Microsoft Dynamics,Webresource,我开发了一个客户端JavaScript函数,并使用推荐的步骤将它们作为web资源添加到Dynamics 365客户服务解决方案中。 当我以系统定制者和系统管理员的角色登录实例时,这些功能已经过测试并按要求运行。但是,如果登录是一个没有这两个角色(如CSR经理)的用户,则JavaScript函数没有响应。通过对IE11、Chrome和Firefox中客户端开发工具的进一步调查,我已经验证了JavaScript实际上没有下载到这些用户的客户端浏览器中 如果我将系统管理员角色授予用户,则功能可以正常工

我开发了一个客户端JavaScript函数,并使用推荐的步骤将它们作为web资源添加到Dynamics 365客户服务解决方案中。 当我以系统定制者和系统管理员的角色登录实例时,这些功能已经过测试并按要求运行。但是,如果登录是一个没有这两个角色(如CSR经理)的用户,则JavaScript函数没有响应。通过对IE11、Chrome和Firefox中客户端开发工具的进一步调查,我已经验证了JavaScript实际上没有下载到这些用户的客户端浏览器中

如果我将系统管理员角色授予用户,则功能可以正常工作,并且我可以在浏览器中使用客户端调试器。一旦我取消角色并重新加载浏览器,我设置的调试点就不会暂停,JavaScript web资源也不会下载

我不确定发生了什么,因为没有社区论坛或Microsoft docs文章提到任何其他要求来保护web资源或允许非管理员用户查看而不是管理员用户。

CRM web资源(JS)不能仅针对某些安全角色呈现/控制。它对所有人开放

但是,当您为不同的安全角色使用不同的表单时,就有可能注册js库&该特定表单中缺少函数

您在任何文档/论坛中都找不到类似的内容,因为这可能是管理员/开发人员的错误


如果您为Sys.Admin或CSR角色启用多个表单,那么表单切换器将出现在记录中&您可以测试这两种行为。

我在这里看到一些关于安全角色和表单的答案。如果只在一个表单上使用jScript,那么其他表单将无法使用它。因此,您需要将该JS(无论是web资源还是输入文本编辑器的代码)链接到希望JSCRIPT在其上运行的每个表单(在表单属性中)。听起来您已经让它运行了,而且它对您和其他担任系统管理员角色的用户都有效。你在所有的表格上都试过吗

第二件要检查的事情是您的JScript代码到底在做什么。它是否只关注一个实体(将JS注入的表单的实体)?它是在更新、删除还是在记录中添加内容

如上所述,JScript和Web资源不能被安全性锁定(据我所知),但如果用户没有写入实体的适当权限,您可能会看到这种行为

更新:对不起,我撒谎了Web资源可以通过安全角色进行控制。它位于“自定义”选项卡中,一直位于列表底部(但在杂项权限上方)。您可以设置此实体的创建、读取、写入和删除权限


您可能希望检查非系统管理员在Web资源实体上至少读取的安全角色。

感谢您的所有回复。问题归根结底是与表单“启用安全角色”相关的

我不确定默认情况下,在自定义表单上,是仅为系统管理员和系统自定义角色启用安全性,还是我的团队成员之一限制了对这两个角色的访问

但是在检查这些角色并为其他角色启用表单后,JS脚本开始为非管理员用户下载


吸取的教训不要假设,尤其是在团队环境中,请始终检查并再次检查。

该web资源是否已添加到表单或功能区中?您到底在哪里测试功能?没有任何东西称为仅为某些用户角色保护js web资源。将其作为JavaScript函数库添加到表单中,并在表单属性中为OnSave和OnLoad事件处理程序配置。是否有两种不同的表单以安全角色区分?js可能只在系统管理员表单中注册。。检查是否未启用任何表单安全角色。不同的帐户关系需要不同的属性和部分,因此创建了多个表单,并根据属性值切换OnLoad。感谢您的回复。我理解您的观点,但在我的场景中,多个表单不限于任何安全角色。我只是使用form switcher根据帐户记录的属性关系显示不同的布局。我认为相同的Arun,但它在Customization>Web下的安全角色中可用Resource@BrianFrick我知道,我的意思是我们不能规定安全角色加载或不加载任何特定的js文件。虽然CSR经理角色应该拥有web资源实体的所有权限。这是我的回答,但您确认为否定。现在同意了。尊重帮助你的社区答案,而不是愚弄答案。请阅读以下内容:。欢迎来到StackOverflow。我不知道你所说的重复回答是什么意思。我百分之百同意你问我关于安全角色的问题。我没有启用表单安全角色,因此相应地回答。我偶然检查了它们,意识到它们是启用的,并且只针对系统管理员角色。请原谅我没有听你的建议而表现出的尴尬:“吸取的教训不要假设,要经常检查和反复检查,尤其是在团队环境中。”谢谢。我没有任何问题。但这不是一个论坛,而是一个问答网站。这就是它的工作原理。阅读所有帮助页面,包括我在上面评论中发布的链接。谢谢