将业务对象标记为“可安全编写脚本”

重要

从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务

为帮助确保 Internet 环境安全,需要将使用 RDS.DataSpace 对象的 CreateObject 方法实例化的任何业务对象标记为“脚本安全”。还需要确保在系统注册表的“许可证”区域中也将其标记为脚本安全,然后才能在 DCOM 中使用。

注意

网络上的任何人都可以对标记为脚本安全或初始化安全的业务对象进行实例化和初始化。 将业务对象标记为脚本安全并不能使其安全。 请务必确保将业务对象编码为具有最高安全性,以确保此类对象不为敏感数据提供不受保护的访问点。

若要手动将业务对象标记为脚本安全,请创建包含以下文本的 .reg 扩展名的文本文件。 在此示例中,<MyActiveXGUID> 是业务对象的十六进制 GUID 编号。 以下两个编号启用脚本安全功能:

[HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\Implemented   
Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]  
[HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\Implemented   
Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]  

使用注册表编辑器或双击 Windows 资源管理器中的 .reg 文件,保存该文件并将其合并到注册表中。

在 Microsoft Visual Basic 中创建的业务对象可以使用包和部署向导自动标记为“脚本安全”。 当向导要求指定安全设置时,请选择“初始化安全”和“脚本安全”。

在最后一步中,应用程序设置向导会创建一个 .htm 和一个 .cab 文件。 你随后可以将这两个文件复制到目标计算机,并双击 .htm 文件以加载页面并正确注册服务器。

由于业务对象默认安装在 Windows\System32\Occache 目录中,因此请将其移动到 Windows\System32 目录,然后更改 HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\InprocServer32 注册表项以匹配正确路径。