javascript - 非系统管理员用户无法下载 Dynamics 365 客户端 Javascript Web 资源
问题描述
我开发了一个客户端 JavaScript 函数,并使用推荐的步骤将它们作为 Web 资源添加到 Dynamics 365 客户服务解决方案中。当我使用角色作为系统定制员和系统管理员登录到实例时,这些功能已经过测试并按要求运行。但是,如果登录是作为没有这两个角色的用户(如 CSR 经理),则 JavaScript 函数没有响应。在对 IE11、Chrome 和 Firefox 中的客户端开发工具进行进一步调查后,我已经验证 JavaScript 实际上并没有为这些用户下载到客户端浏览器。
如果我将系统管理员角色授予用户,则功能可以正常工作,我可以在浏览器中使用客户端调试器。一旦我拿走角色并重新加载浏览器,我设置的调试点就不会暂停,并且不会下载 JavaScript Web 资源。
我不确定发生了什么,因为没有社区论坛或 Microsoft 文档文章提到任何其他保护 Web 资源或允许非管理员用户查看与管理员用户的要求。
解决方案
CRM Web 资源 (JS) 不能仅针对某些安全角色呈现/控制。它对所有人开放。
但是,当您为不同的安全角色使用不同的表单时,则可能会在该特定表单中丢失已注册的 js 库和函数。
您在任何文档/论坛中都找不到类似的内容,因为这可能是一些管理员/开发人员错误。
如果您为 Sys.Admin 或 CSR 角色启用多个表单,则表单切换器将出现在记录中,您可以测试这两种行为。
推荐阅读
- html - 如何在启用 div 的滚动时禁用 body 的滚动?
- terraform - Terraform 0.12 main.tfvars 变量在 tf.var 中不可见
- php - 在 VSCode 中使用 Docker 调试 PHP
- node.js - NodeJS返回不停止整个功能
- python - Spark SQL:如果单词列表中的单词包含在列中,则在新列中返回找到的单词
- java - 我们如何在容器下创建子文件夹我的问题是有些不同
- python - 在 Python 数据框中将索引定义为日期时间
- java - 如何在Eclipse中导入项目,选择根目录后,您有一个带有不可检查框的项目?
- javascript - JS 与 .include 一起工作,但与 .extend 一起失败
- python - 如何将多个元素列表插入到 SQL 表中的单独行中