java – 如何使用Ant Web Start在build.xml中添加安全权限

我不熟悉像Ant这样的
java构建工具.我们有一个旧的
java web start应用程序,现在使用
new security requirements for RIAs我必须在我的build.xml中添加一个安全标记但是我无法弄清楚如何做到这一点.我正在使用ant deploy来构建我的应用程序.我也在使用ant-jnlp-war(我真的无法弄清楚这个ant-jnlp-war的使用位置)我的build.xml的相关部分如下:

<target name="pack" depends="buildinfo,dist,sign">
    <jw:jnlpwar
        tofile="${war}/lmc.war"
        title="Company Management Console"
        vendor="Company Teknoloji"
        codebase="dummy"
        signStorepass="secret"
        signAlias="labris">
            <jw:description>Company Management Console</jw:description>
            <jw:description kind="short">LMC</jw:description>
            <jw:shortcut desktop="true" menu="true" submenu="Company Management Console"/>
            <jw:j2se minVersion="1.5" args="-Xmx128M" />
            <lib dir="${dist}/lib">
                <include name="**/*.jar"/>
                <exclude name="client.jar"/>
            </lib>
            <lib dir="${dist}/modules">
                <include name="**/*.jar"/>
            </lib>
            <jw:application mainclass="com.idealteknoloji.lmc.client.ClientManager" jar="${dist}/lib/client.jar"/>
    </jw:jnlpwar>
    <exec executable="./make-client-packages"/>
</target>

如何以及在何处将安全属性添加为沙箱.

最佳答案 让我们澄清一下……

Ant-jnlp-war只是创建战争,允许你将你的应用程序分发给客户端并包含你的jar,这意味着在调用ant-jnlp-war之前你应该有jar.

New security requirements for RIA与jar相关,因为您需要在META-INF / MANIFEST.MF中指定可从中分发站点应用程序:

Manifest Attributes

  1. Permissions – Introduced in 7u25, and required as of 7u51. Indicates if the RIA should run within the sandbox or require full-permissions.
  2. Codebase – Introduced in 7u25 and optional/encouraged as of 7u51. Points to the known location of the hosted code (e.g. intranet.example.com).

当我们澄清你不需要改变ant-jnlp-war时,你需要在jar中拥有正确的MANIFEST.MF.

这里有两个选择:

>使用Ant任务创建MANIFEST.MF like并对其进行配置,example

  <jar destfile="test.jar" basedir=".">
      <include name="build"/>
      <manifest>
          <attribute name="Permissions" value="sandbox">
          <attribute name="Codebase" value="example.com">
      </manifest>
  </jar>

>手工创建MANIFEST.MF并将文件夹放在META-INF文件夹下

Manifest-Version: 1.0
Created-By: 1.7.0_51
Permissions: sandbox
Codebase: www.java.com
点赞