2

我写了一个自己的安全管理器,我的问题是,我在我的程序中运行其他用户的代码,我必须确保没有滥用。

所以我的问题是:我如何能够在安全管理器的方法中找到,谁在 checkXXXXXX() 中要求访问 - 方法。

谢谢

4

1 回答 1

2

不,在一般情况下没有简单的方法可以做到这一点。

(如果您在 Web 容器中运行,这可能会提供一种获取当前请求的身份验证详细信息的方法。但这听起来不像您的用例。)

我想您可以通过多种方式尝试实现这一点,但您需要小心防止代码欺骗用户身份。一种想法是将每个用户身份与不同的线程组相关联,并让您的安全管理器阻止在其他线程组中创建线程;阅读 javadoc Thread(ThreadGroup group, Runnable target, String name),注意它所说的关于线程组检查的内容。

于 2011-08-13T11:19:43.307 回答