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

  • 相关阅读:
    前端知识点(1)
    js防抖和节流
    react生命周期方法有哪些?
    vue音乐播放器
    vue天气查询
    vue+axios安装
    vue 实现todolist,包含添加,删除,统计,清空,隐藏功能
    vue简单计数器
    手动搭建的react环境中,关于图片引入的问题
    promise封装ajax
  • 原文地址:https://www.cnblogs.com/zhangronghua/p/SilverLightCorssDomainIssue.html
Copyright © 2011-2022 走看看