1

我有一个在其所有线程中运行基本 RMISecurityManager 的程序。但我想对多个线程进行更多控制,并专门为这些线程设置另一个 SecurityManager。

我怎样才能做到这一点 ?...如果这是可能的!?

提前谢谢你。

编辑:我找到了我的解决方案。有关更多详细信息,请参见此处

4

2 回答 2

4

这没有多大意义。如果代码(无论是否恶意)导致在不同的线程上执行怎么办?这甚至可以在 Java 库中发生,并传输安全上下文(可能使用java.security.AccessController.getContext/ doPrivileged)。

Applet 确实使用了涉及 s 的稍微困难的系统ThreadGroup,但我不推荐它。JAAS 允许将 aSubject添加到 . AccessControlContext,但我个人建议不要使用这种编程风格。

授予下载的代码(如果有)适当的权限,并且不要将敏感对象授予您不信任的代码。

于 2008-11-17T11:50:39.013 回答
2

SecurityManager 根据正在运行的线程的安全上下文执行检查,也许你想让你的 SecurityManager 根据它在上下文中找到的任何东西来表现不同?

或者,您可能想使用策略模式来实现您的SecurityManager 。

yc

于 2008-11-17T11:40:08.410 回答