2014-03-07 129 views
0

我试图为某些内部应用程序配置部署规则集,但我对其中的一个运行了问题。我的部署规则集被忽略

RuleSet.xml:

<ruleset version="1.0+"> 
    <rule> 
    <id location="machine1.domain.net" /> 
    <action permission="run" /> 
    </rule> 
<rule> 
    <id /> 
    <action permission="block"> 
    <message>Blocked by corporate</message> 
    </action> 
</rule> 
</ruleset> 

JNLP文件:

<title>Virtual KVM Client</title> 
    <vendor>IBM</vendor> 
    </information> 

    <security> 
    <all-permissions/> 
    </security> 

    <resources> 
    <j2se version="1.6+ 1.5+ " /> 
    <jar href="/aessrp/avctIBMViewer.jar"/> 
    </resources> 

    <resources os="Windows"> 
    <nativelib href="/aessrp/avctKVMIOWin32.jar"/> 
    </resources> 

<resources os="Linux"> 
    <nativelib href="/aessrp/avctKVMIOLinux.jar"/> 
</resources> 

<application-desc main-class="com.avocent.ibmc.kvm.Main"> 
    <argument>ip=machine1.donain.net</argument> 
    <argument>helpurl=https://machine1.domain.net.net/aessrp /help/contents.html</argument> 
    <argument>user=?????</argument> 
    <argument>passwd=</argument> 
    <argument>apcp=1</argument> 
    <argument>version=2</argument> 
    <argument>kmport=3900</argument> 
    <argument>vport=3900</argument> 
    <argument>title=machine1.domain.net-Video Viewer</argument> 
</application-desc> 
</jnlp> 

的URL应用:

https://machine1.domain.net/ 

规则集文件工作正常他人URL“位置“但是对于这一个,我会得到同样的错误Blocked by corporate

你能在这段代码中看到错误吗? Https和JNLP文件有什么特别的含义?

回答

0

最后,问题出现在JNLP文件中,因为代码库espcification本身并不参考JNLP文件位置。

[http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/deployment_rules.html]

没有HREF场JNLP文件将被忽略,默认规则将被应用。

替代方案:

创建HREF解决JNLP文件本身的JNLP。

创建没有代码库的JNLP文件,那么JNLP的名称将被用作href(未测试)。

使哈希证书过滤器,更安全,但有点难以维护。