【问题标题】:how to grant an applet permission for the resource accesses it needs?如何授予小程序访问所需资源的权限?
【发布时间】:2009-09-12 17:33:56
【问题描述】:

我在为我的小程序定义权限时遇到问题,该权限将访问空间资源,例如获取 user.name 属性或文件系统命令,例如创建、读取、写入目录或文件...

小程序必须写入任何数据-ex。图像- 从 web 应用程序接收到的临时目录中的此类文件中,使用 user.name 为这些文件创建一个文件夹...

我想签署小程序并为其授予权限,以便运行我的小程序的每个客户端都允许它访问所需的资源,我该怎么做? 有可能吗?

这是一种没有客户端授予权限的方法吗? 我知道这不是好的安全策略,而且可能是不正确的想法,但是根据我的问题陈述,您的想法是什么? 我该怎么做?

【问题讨论】:

    标签: java security applet


    【解决方案1】:

    一旦您的小程序被签名,任何需要文件权限的代码都需要被包装在一个特权块中,如下所示。

    final String location = locationVal;
    
    File f = (File) AccessController.doPrivileged(new PrivilegedAction()
    {
    public Object run()
    {
      System.out.println("Getting File : " + location);
      File outputFile1 = new File(location);
      return outputFile1;
    }
    });
    

    要获得系统属性,您需要再次使用特权块。像这样的东西。

    String javaVersion = (String) AccessController.doPrivileged(new PrivilegedAction()
    {
        public Object run()
        {
            try
            {
                return System.getProperty("java.version");
            } 
            catch (Exception e)
            {
            System.out.println("Exception caught:" + e.toString());
        return null;
        }
    }
    });
    

    【讨论】:

      【解决方案2】:

      从 6u10 开始,无需签名即可使用 FileSaveService 允许在用户控制下保存文件。

      【讨论】:

      • 谢谢,但是小程序必须在没有用户控制的情况下自行保存数据...我的小程序是一个地图查看器,我想在本地访问图像图块,但是,它必须自动将图像保存在客户端磁盘上跨度>
      猜你喜欢
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多