在 MVC 中移动 javascript 后,Active 中的访问被拒绝

Posted

技术标签:

【中文标题】在 MVC 中移动 javascript 后,Active 中的访问被拒绝【英文标题】:Access denied in ActiveX after moving the javascripts in MVC 【发布时间】:2017-09-28 10:43:45 【问题描述】:

我已经使用 html 在我的项目中成功实现了智能卡读卡器,并且一切都完美 100% 工作,但是当我将所有文件传输到我的 MVC 项目并运行(本地主机)时,我无法执行卡的初始化功能读者。说“访问被拒绝”

在 HTML 中(所有功能都在正常工作,没有访问被拒绝错误)

在 MVC 中

我的对象

<OBJECT id="EIDAWebComponent" style="border:solid 1px gray"
                                        CLASSID="CLSID:A4B3BB86-4A99-3BAE-B211-DB93E8BA008B"
                                         ></OBJECT>

更新: 我创建了一个新的 ASP.Net Web 应用程序(空模板),然后我复制了整个 js 和 html 文件。然后将 HTML 页面设置为起始页面。问题可能出在我的本地主机上。当我使用此链接 C:\Public Data ActiveX\PublicDataActiveX.html 在 IE 中浏览我的文件时,activex 正在工作。但是这个链接http://localhost:28679/PublicDataActiveX.html不是。

【问题讨论】:

为什么初始化为HTTPS?您是否在本地环境中设置了 HTTPS?您是否仔细检查了此 URL 是否正确(通过粘贴到浏览器并验证它是否找到了文件):https://localhost:44325/js/eid/eida_webcomponents.js 是的,我可以通过访问该 url 来浏览我的 js 文件。我的应用程序已连接到 azure 活动目录。 【参考方案1】:

问题可能只是为了让 ActiveX 工作而启用 HTTPS。

如果你的堆栈让这变得困难,你可以在顶部有一个代理,比如 nginx

http://cnedelcu.blogspot.com.co/2014/10/https-with-nginx-setting-up-ssl.html

【讨论】:

HTTP 有同样的错误。我确定问题不在于 SSL。 该站点是否位于允许使用 activex 的 Internet Explorer 区域中?您是否继续将该域添加到 Internet Explorer 配置选项下的安全域列表中?【参考方案2】:

您只是分享了一小部分代码和一些图片,因此很难以这种方式提供帮助,但以下是您可能需要考虑的一些提示:

当你说,它在纯 html 中工作,这到底是什么意思?如何浏览它,双击一个html文件并在浏览器中作为本地文件打开,路径类似于“C:\Folder\File.hml”? 或者你是否用域浏览它,也许是“localhost/file.html”? 当你说,转移到一个 MVC 项目,你是什么意思?你是把它放在 View 上还是只是移动了 html 并浏览了它?

以上所有问题对于找出问题所在很重要

如果您可以在两种情况下从文件系统浏览 .html 文件并运行您的 MVC 项目,那么问题出在 MVC 本身,它是一个编码问题。 如果您无法在文件系统中浏览完全相同的 .html 并运行您的应用程序,那么问题不是代码,而是权限,可能是 CORS 限制(按域),可能是 ssl(您说不是),也许你需要一个密钥(比如 google api)

【讨论】:

1.是的,我从目录中打开 html,双击“C:\Folder\File.hml”。 2. 当我将文件移动到 MVC 项目时,是的,我创建了一个新视图并移动了 html 标记/代码。【参考方案3】:

经过大量搜索,我找到了这个link

在 IE 中更改安全设置我的 ActiveX 现在在 localhost 中工作。

打开 IE >> 工具 >> Internet 选项 >> 安全 >> 自定义级别 >>(启用)初始化并编写未标记为可安全执行脚本的 ActiveX 控件

【讨论】:

以上是关于在 MVC 中移动 javascript 后,Active 中的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

MVC 视图和 JavaScript 文件

Javascript MVC 框架 + jQuery Mobile

c# javascript mvc - 模型验证后出现 Javascript window.confirm 框集

MVC 5 JavaScript 缓存 [重复]

在 ASP.net MVC 5 应用程序中单击按钮时使用 JavaScript/jQuery 将用户重定向到页面

C#MVC5升级打破了Javascript加载