0

たとえば、このコードをアプレット クラスで使用する場合、アプレット サンドボックスで実行します。

public void init() {
    try {
        class doInit implements PrivilegedExceptionAction {

            public Object run() throws Exception{
                File file = new File("/tmp/1.txt");
                FileOutputStream fos = null;

                fos = new FileOutputStream(file);
                fos.write("hello world2".getBytes());
                fos.close();
                return null;
            }
        }
        ;
        doInit di = new doInit();
        AccessController.doPrivileged(di);

失敗してセキュリティ例外がスローされることはわかっています。しかし、なぜ?

Fileコア Java API にありますが、 ?FileOutputStream を使用して許可を取得できません 。doPrivileged

4

2 に答える 2

1

アプレットの場合、アプレットの開発者であるあなたは、権限を付与または取り消す権利を持っているわけではありません。それらは、アプレットが実行されるマシンのセキュリティ設定とポリシーによって決定されます。アプレットの要件の 1 つは、有効で信頼できる証明書によって署名されていることです。

于 2013-06-14T08:43:38.047 に答える