У меня есть приложение, в котором код Clojure оценивается либо из пути к классу приложения , либо как ресурс удаленного хранилища файлов .
Только администратор имеет доступ к расположению пути к классам, но все пользователи могут предоставить свой код в удаленном хранилище. Чтобы упростить некоторые операции, API приложения включает макрос auth/as-admin
, который выполняет формы ввода, если они были выполнены как зарегистрированный администратор, но, очевидно, я не хочу, чтобы он успешно использовался в предоставленном пользователем коде.
Как я могу надежно ограничить использование auth/as-admin
кодом только для classpath, предотвращая любые «злонамеренные» binding
в коде пользователя, пытающиеся обойти ограничение?