Я неопытен в использовании opencpu в качестве сервера, поэтому я попытался найти ответ на этот вопрос в документации, но не нашел ответов на этот вопрос.Тем не менее, это кажется мне достаточно базовым с точки зрения разрешений и аутентификации, так что я предполагаю, что это где-то задокументировано, и я просто не нашел его .... У меня есть вопрос относительно пользователей и разрешений при выполнении запроса к OpenCPUсервер.Я написал пакет R, который я хочу разместить на сервере OpenCPU.До сих пор мне удалось без проблем установить сервер OpenCPU, и он прекрасно работает для большинства функций в моем пакете R.Однако одна функция использует Sys.getenv('USERNAME')
для определения пользователя, который запускает код.Но когда код R запускается клиентским запросом, я понятия не имею, как определить пользователя.
Мин. Пример: Предположим, у меня есть функция "myFun", включенная в мой пакет R с именем "MyRPkg", например:
MyRPkg/R/myFun.R
:
myFun(v){
return(Sys.getenv('USERNAME'))
}
Когда я установил пакет (в «корневой» R-библиотеке) и у меня запущен сервер OpenCPU, чем я могу получить доступ к пакету и вызвать егофункционировать с помощью запроса POST, например:
SERVERNAME/ocpu/library/MyRPkg/R/myFun/json
и получить пустую строку в качестве ответа.
[""]
Как выяснить, что происходит на стороне сервера, с точки зрения которогопользователь "запускает" код R и возможно ли это настроить?Сначала я думал, что пользователь должен использовать «data-www», который является настройкой Apache по умолчанию в моей системе.Не знаете, на каком уровне установлен пользователь: Apache, rApache или opencpu, но я предполагаю, что он должен быть настраиваемым на уровне OpenCPU?
Система, на которой работает сервер, является более или менее Linux Ubuntuсервер.