おはよう! 私はここで大きな問題を抱えています!まず、JVMでプロキシを設定する方法について昨年質問を投稿しました。これにより、javaでプログラムされたLotus Notes Agentが(Javaでも)Webサービスを経由できるようになりました。私は最後に数週間の研究の後で問題を発見しました。だから、今私たちはユーザーテスト環境でそれを動かす時でしょう。動作しません!しかし、私は同じ問題に直面していません。実際、JVMにプロキシを設定するには、プロパティ "http.proxyHost"と "http.proxyPort"を設定する必要があります。そこで、私はDominoサーバーの管理者にサーバー上の "java.policy"ファイルを変更させて、それらのプロパティにアクセスできるようにしました(私は "java.policy"の開発版をコピーして "UAT " バージョン)。いいえ、運がない!java.policyのいくつかの変更がJVMによって気にされていない
java.security.AccessControlException: access denied (java.util.PropertyPermission http.proxyHost write)
、我々は許可を与えてみました私たちは、権限付与を反転しようとした
に「はhttp.proxyHost」:まったく同じポリシーファイルを別のサーバーに複製まったく同じコードが2つの異なる方法を振る舞う...私はこの取得しますと "proxyHost"。何もうまくいきませんでした...だから、 "grant"セクション(コードベースなし)のすべてのパーミッションを削除し、AllPermissionだけを置くようにしました。出来た!私の推測では、私たちはポリシーファイルにエラーがあるため、アクセス許可は扱われません。
//
// @(#)src/security/sov/config/java.policy, security, as142, 20070303 1.4.2.2
// ===========================================================================
// Licensed Materials - Property of IBM
// "Restricted Materials of IBM"
//
// IBM SDK, Java(tm) 2 Technology Edition, v1.4.2
// (C) Copyright IBM Corp. 1998, 2002. All Rights Reserved
// ===========================================================================
//
// Standard extensions get all permissions by default
grant codeBase "file:${java.home}/lib/ext/*" {
permission java.security.AllPermission;
};
// default permissions granted to all domains
grant {
// Allows any thread to stop itself using the java.lang.Thread.stop()
// method that takes no argument.
// Note that this permission is granted by default only to remain
// backwards compatible.
// It is strongly recommended that you either remove this permission
// from this policy file or further restrict it to code sources
// that you specify, because Thread.stop() is potentially unsafe.
// See "http://java.sun.com/notes" for more information.
permission java.lang.RuntimePermission "stopThread";
permission java.lang.RuntimePermission "setContextClassLoader"; // This was added
// allows anyone to listen on un-privileged ports
permission java.net.SocketPermission "localhost:1024-", "listen";
permission java.net.NetPermission "setDefaultAuthenticator";
permission java.util.PropertyPermission "http.proxySet", "write";
permission java.util.PropertyPermission "http.proxyHost", "write";
permission java.util.PropertyPermission "http.proxyPort", "write";
// "standard" properies that can be read by anyone
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
permission java.util.PropertyPermission "java.assistive", "read";
};
// Notes java code gets all permissions
grant codeBase "file:${notes.binary}/*" {
permission java.security.AllPermission;
};
grant codeBase "file:${notes.binary}/rjext/*" {
permission java.security.AllPermission;
};
任意の手掛かりをいただければ幸いです...クライアントはかなり疲れて、これは動作しませんされて:あなたは、この上で私の手を与えることができれば、私は思っていた...ここでのポリシーファイルです!
は'許可java.util.PropertyPermission "*"、 "読み取り、書き込み" を参照ん? –
ねえ!私はそれを試みるつもりです!あなたの経験から、それを設定する危険があると思いますか?どんな "危険な"特性? –
Not working ... java.lang.SecurityException:システムプロパティにアクセスできません。 –