Диспетчер безопасности Java выяснит, кто запрашивает доступ - PullRequest
2 голосов
/ 13 августа 2011

Я написал собственный менеджер безопасности, и моя проблема в том, что я запускаю код от других пользователей в моей программе, и я должен убедиться, что нет злоупотреблений.

Итак, мой вопрос: как я могу узнать в методах диспетчера безопасности, который запрашивает доступ в методах checkXXXXX () -.

Спасибо

1 Ответ

2 голосов
/ 13 августа 2011

Нет простого способа сделать это в общем случае.

(Если вы работали в веб-контейнере, это может обеспечить способ получить информацию об аутентификации текущего запроса. Но это не похоже на ваш вариант использования.)

Я полагаю, что вы можете попытаться реализовать это различными способами, хотя вам нужно быть осторожным, чтобы защитить себя от кода, который подделывает личность пользователя. Одна идея состоит в том, чтобы связать каждый идентификатор пользователя с отдельной группой ThreadGroup и заставить вашего менеджера безопасности блокировать создание потоков в других группах потоков; прочитайте javadoc для Thread(ThreadGroup group, Runnable target, String name), обращая внимание на то, что говорится о проверке группы потоков.

...