1

私はアプレットでいくつかの問題に直面していました。これがその問題のリンクです。

java.security.AccessControlException: アクセスが拒否されました ("java.security.SecurityPermission" "authProvider.SunMSCAPI")

追加したばかりでSystem.setSecurityManager(null)、アプレットは正常に動作します。知りたいのですが、設定セキュリティマネージャーが null に与える影響は何ですか? データは安全ではなくなりますか? または、他の何か。

4

2 に答える 2

4

あなたはアプレットについて話しているので

セキュリティマネージャーのドキュメントから

通常、Web アプレットは、ブラウザまたは Java Web Start プラグインによって提供されるセキュリティ マネージャで実行されます。他の種類のアプリケーションは、アプリケーション自体がセキュリティ マネージャを定義しない限り、通常、セキュリティ マネージャなしで実行されます。セキュリティ マネージャが存在しない場合、アプリケーションにはセキュリティ ポリシーがなく、制限なく動作します。

したがって、null を渡すと、ランタイム環境のセキュリティが無効になります。

たとえば、 Java 仮想マシンを終了ステータスで終了するSystem.exitは、SecurityManager.checkExit を呼び出して、現在のスレッドにアプリケーションをシャットダウンする権限があることを確認します。

ファイルのアクセス許可などのセキュリティマネージャーを無効にするとどうなるか、さらにいくつかの例があります。

作成する前に完全なドキュメントをお読みくださいnull。そのため、アプリケーションとエンド ユーザーのセキュリティの問題を歓迎しています。

于 2013-10-21T06:21:51.223 に答える
0

アプレットでセキュリティ マネージャをクリアするのは、非常に悪い考えです。アプレットにその権限があれば、とにかくローカル ユーザーとして何でもできます。ただし、セキュリティ マネージャーをクリアすると、他のサイトからの署名されていないアプレットを含む、そのプロセスで実行されているすべてのコードが true になります。セキュリティ マネージャをクリアするアプレット (有効な証明書で署名されたもの) は、ブラックリストに登録する必要があります。

于 2013-10-21T12:21:26.517 に答える