テナントごとに複数のポリシー構成ファイルをJavaセキュリティマネージャーにロードしようとしています。java secuirtyチュートリアルでは、複数のポリシーファイルをポリシーオブジェクトにロードできると指定されていますが、私の要件は、マルチテナントセキュリティモデルで、実行時にどのポリシーファイルをどのユーザーにロードする必要があるかをどのように指定できるかです。デフォルトのセキュリティモデルを拡張します。
2 に答える
0
これはちょっと怖いですね。可能であれば、テナントごとに異なる VM を使用します。それができない場合は、おそらく Policy.setPolicy を使用することをお勧めします。基本的に複数のポリシーのラッパーである Policy のカスタム実装が必要になります。現在のスレッドに適用されるユーザー コンテキストを確認し、適切なラップされた Policy 実装に委譲するために、いくつかの ThreadLocal 変数を参照する必要があるでしょう。ポリシー ファイルを読み取るには、おそらくSun セキュリティ プロバイダを直接参照する必要があります。デフォルトでリフレクションを禁止することを忘れないでください。そうしないと、ポリシー ロジックを簡単に回避できなくなります。
于 2012-06-19T12:23:15.893 に答える
0
Try to take a look at this blog post. Jens Nordahl describes how to sandbox untrusted plugins, which sounds like what you need.
Ps. Sorry for bumping this post, but it is one of the highest on Google.
于 2015-03-06T11:21:46.027 に答える