我有一个在其所有线程中运行基本 RMISecurityManager 的程序。但我想对多个线程进行更多控制,并专门为这些线程设置另一个 SecurityManager。
我怎样才能做到这一点 ?...如果这是可能的!?
提前谢谢你。
编辑:我找到了我的解决方案。有关更多详细信息,请参见此处。
我有一个在其所有线程中运行基本 RMISecurityManager 的程序。但我想对多个线程进行更多控制,并专门为这些线程设置另一个 SecurityManager。
我怎样才能做到这一点 ?...如果这是可能的!?
提前谢谢你。
编辑:我找到了我的解决方案。有关更多详细信息,请参见此处。
这没有多大意义。如果代码(无论是否恶意)导致在不同的线程上执行怎么办?这甚至可以在 Java 库中发生,并传输安全上下文(可能使用java.security.AccessController.getContext
/ doPrivileged
)。
Applet 确实使用了涉及 s 的稍微困难的系统ThreadGroup
,但我不推荐它。JAAS 允许将 aSubject
添加到 . AccessControlContext
,但我个人建议不要使用这种编程风格。
授予下载的代码(如果有)适当的权限,并且不要将敏感对象授予您不信任的代码。
SecurityManager 根据正在运行的线程的安全上下文执行检查,也许你想让你的 SecurityManager 根据它在上下文中找到的任何东西来表现不同?
或者,您可能想使用策略模式来实现您的SecurityManager 。
yc