最新发布培训课程

    栏目ID=757的表不存在(操作类型=1)
知识分享
您的位置:首页 > 行业资讯 > 知识分享
2014-12-24 09:47:37
跨域访问机制做法
[文章导读]跨域访问机制:
在服务器上,同一个域中的文件,数据或者swf可以任意访问。若要跨域访问需被授权。注意不同域名即使映射到相同IP地址也会被看成两个域。IP地址名和通过解析的地址也被看作两个域。有两种授权方式:策略文件和作者授权。

策略文件:
策略文件声明某个域中的文件可以被指定域访问。策略适用于所有形式的访问。是个xml文件,格式如:

跨域访问机制

跨域访问机制:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
在服务器上,同一个域中的文件,数据或者swf可以任意访问。若要跨域访问需被授权。注意不同域名即使映射到相同IP地址也会被看成两个域。IP地址名和通过解析的地址也被看作两个域。有两种授权方式:策略文件和作者授权。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
策略文件:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
策略文件声明某个域中的文件可以被指定域访问。策略适用于所有形式的访问。是个xml文件,格式如:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<cross-domain-policy>Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain=www.075588.cn secure=false/>Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="*"/>Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
</cross-domain-policy>Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
策略文件中可以使用通配符。使用*通配符表示能被所有网站访问。secure用于https协议与http互相访问。false表示允许互相访问。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
默认策略文件:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
默认策略文件放在网站根目录下面名字必须为crossdomain.xmlAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
加载策略文件:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
若觉得默认策略文件给服务器维护造成影响。可放到子域中,用System.security.loadPolicyFile(url)来加载。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
策略文件类型:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
策略文件分为页面策略文件和套接字策略文件。套接字策略文件需要指定端口,如:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<cross-domain-policy> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="*" to-ports="507" /> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="*.075588.cn" to-ports="507,516" /> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="*.0755882.cn" to-ports="516-523" /> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="www.0755882.cn" to-ports="507,516-523" /> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
<allow-access-from domain="www.0755883.cn" to-ports="*" /> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
</cross-domain-policy> Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
由于flashPlayer只检测套接字策略文件相同端口上的策略文件,而策略文件一般放入服务器中采用http访问,这时只能使用默认策略文件并且使用Security.loadPolicyFile来加载,如:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.loadPolicyFile("http://socketServerHost.com/crossdomain.xml")Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
作者授权:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
有时候只想开放某个swf文件而不是整个域中的数据,作者可以使用Security.allowDomainswf中授权。作者授权但并不代表互相通信。除非互相授权。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
SecurityAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security类基于Object,使用import flash.system.Security声名,Security类是个静态类,用于处理安全访问。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
属性:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.sandBoxType:StringAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
安全沙箱类型。使用它的静态常量表示。对应上述的4中沙箱类型:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.REMOTESecurity.LOCAL_WITH_FILESecurity.LOCAL_WITH_NETWORKSecurity.LOCAL_TRUSTEDAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.exactSetting:BooleanAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
是否精确匹配域,默认为true。精确匹配指不忽略域名中的机器名,如www.flash.comjohn.flash.com被看作不同的域。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
方法:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.allowDomain(…domains):voidAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
swf中允许指定域访问。多个参数表示多个域,如Security.allowDomain(www.adobe.com,”http://www.macromedia.com/”,”http://www.flash.com/”);Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.allowInsecureDomain(…domains):voidAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
允许https协议的域访问。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.loadPolicyFile( url:String):voidAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
加载策略文件。当不使用默认策略文件时需要加载。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Security.showSettings():voidAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
显示安全设置面板。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
应用程序域:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
允许跨域加载swf后,还可能出现加载的swf中的类与主类相同而产生冲突。为此安全模型把加载的swf类用应用程序域划分。安全域为树形结构。加载的应用程序域可以是文档类应用程序域的子域。文档类的父级安全域为系统安全域。系统安全域包含所有flashPlayer类。为了为我们提供灵活的访问性,as3允许指定载入swf的位置是任何应用程序域。加入子集应用程序域的文件能够直接访问父级应用程序域。但父级必须使用getDefinition方法访问子集应用程序域。加入到文档类应用程序域的文件父级和子集可以直接访问但可能会产生同名冲突。加载到系统应用程序域则被自动划分,必须都使用getDefinition方法互相访问。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
ApplicationDomainAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
ApplicationDomain基于Object类,使用import flash.system.Application声明。表示应用程序域。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
属性:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
currentDomain:ApplicationDomainAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
当前应用程序域。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
parentDomain:ApplicationDomainAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
父级应用程序域。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
方法:Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
getDefinition(name:String):ObjectAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
从通过名称从应用程序域中获取类,命名空间或函数。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
hasDefinition(name:String):ObjectAk8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网
指定名称的定义在应用程序域中是否存在。Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网

 Ak8冲模学习网|VISI|UG|PressCAD|Dynaform|AutoForm|冲模自学网|五金|汽车|模具学习网