zoukankan      html  css  js  c++  java
  • Silverlight跨域问题的解决方法

    【原文来自于http://hi.baidu.com/heiru/blog/item/7c61b01c54b9f18186d6b61d.html,写在这里以做备份,在原文的基础上做了适当编辑。】

    Silverlight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源。
    下表列出了Silverlight 2.0 中 URL 访问规则:

      WebClient对象 Media、images、ASX XAML 文件、Font 文件 流媒体
    允许的协议 HTTP, HTTPS HTTP, HTTPS, FILE HTTP, HTTPS, FILE HTTP
    跨协议访问 不允许 不允许 不允许 不允许来自HTTPS的访问
    跨Web域访问 不允许 如果不是来自HTTPS则允许 不允许 允许
    跨安全区域访问(Windows) 不允许 不允许 不允许 不允许
    跨安全区域访问(Macintosh) 不允许 允许 不允许 允许
    允许重定向 同域允许 允许 同域允许 不允许


    如果WCF与Silverlight Web不是在同一站点,那么我们就要在被访问端的根域放上两个XML文件ClientAccessPolicy.xml,CrossDomain.xml.

    这两个文件的格式需要是utf-8的,并且需要放在根目录,即如果你的IIS版本是6并且你是新建的虚拟目录,这时你需要将这两个文件放到C:\inetpub\wwwroot中,而不是放到虚拟目录的根目录。


    ClientAccessPolicy.xml文件内容如下:

    ClientAccessPolicy.xml的内容
    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
    <cross-domain-access>
    <policy>
    <allow-from>
    <domain uri="*"/>
    </allow-from>
    <grant-to>
    <resource path="/" include-subpaths="true"/>
    </grant-to>
    </policy>
    </cross-domain-access>
    </access-policy>

    CrossDomain.xml的格式非常简单,其根节点为<cross-domain-policy> ,其下包含一个或多个<allow-access-from>节点,<allow-access-from>有一个属性 domain,其值为允许访问的域,可以是确切的 IP 地址、一个确切的域或一个通配符域(任何域)。

    CrossDomain.xml Demo
    <?xml version="1.0"?>
    <cross-domain-policy>
    <allow-access-from domain="http://www.lishewen.com.cn/"/>
    <allow-access-from domain="*.lishewen.com.cn"/>
    <allow-access-from domain="222.217.221.16"/>
    </cross-domain-policy>

    关于这两个文件的更多内容可以看MSDN http://msdn.microsoft.com/en-us/library/cc645032(VS.95).aspx

  • 相关阅读:
    linux 防火墙管理
    自动化运维监控工具有哪些?常用的开源运维监控工具大全
    编程必备github代码仓库使用
    安全加密算法
    浅笑若风之高效工作流程
    jmeter压力测试工具使用
    ES扩容实战记录
    在5G+AI+CLCP下拉动互联网走向物联网
    设计模式之简单工厂模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/SilverLightCorssDomainIssue.html
Copyright © 2011-2022 走看看