首页 > 网站 > WEB开发 > 正文

22.2.使用跨域的RSL

2024-04-27 13:52:30
字体:
来源:转载
供稿:网友
22.2.1.问题
我想把RSLs存放在服务器的不同地方以便在不同域的应用程序都能访问到。
22.2.2.解决办法
Compc工具创建RSL时加上compute-digest参数后,RSL摘要信息会在编译时期链接到RSL时存储到应用程序中。然后创建跨域的授权文件引入mxmlc工具的runtime-shared-library-paths选项指定的RSLs位置。
22.2.3.讨论
一个RSL摘要是一个散列码,被用来确认RSL来自于信任方,已被Flash Player载入。当用compute-digest选项设置为true时创建RSL后,这个摘要会被写进SWC存档的catalog.xml文件中。当你编译时链接一个跨越的RSL到应用程序时,这个摘要会被存储到应用程序SWF文件中用来验证所需RSL的合法性。

下面的命令生成一个SWC文件命名为CustomLibrary.swc :
> compc –source-path . –include-classes com.oreilly.flexcookbook.CustomEntryForm -output
CustomLibrary.swc –compute-digest=true

compute-digest选项的默认值为true,当编译库时你不必引入它来创建摘要。当通过MXML编译器的runtime-shared-library-paths选项链接跨域RSLs时才需要摘要。

注意:在上一节中,你看到一个标准的RSL和应用程序放在同一个域中,标准RSLs也可以使用摘要,但是这个摘要不是必须的。

使用上面的命令生成的SWC 文件是一个压缩文件, 包含一个library.swf 文件和一个catalog.xml文件。使用标准的unzip工具解压出这两个文件。这个library是一组编译进SWF将作为RSL被使用的资源。而catalog则使用comput-digest选项生成对library的描述信息。下面显示一个catalog 文件的RSL摘要记录:
+展开
-XML
<digests>
<digest type="SHA-256signed="false"
value="2630d7061c913b4cea8ef65240fb295b2797bf73a0db96ceec5c319e2c00f8a5" />

</digests>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表