Cloud Foundry - Spring Boot: как открыть URL в браузере пользователя? - PullRequest
0 голосов
/ 20 марта 2019

В настоящее время у меня есть приложение Spring Boot, развернутое в облаке через Cloud Foundry, и одна из функций заключается в том, что он открывает URL-адрес аутентификации Google в браузере пользователя при вызове определенной конечной точки контроллера.Когда я пытаюсь вызвать конечную точку и запустить браузер, я получаю эту ошибку:

java.io.IOException: Cannot run program "rundll32": error=2, No such file or directory

Это работает локально, но не уверен, почему этот файл не может быть найден во время выполнения Java, когда онразвернут в CF.

Ниже приведен фрагмент кода:

Runtime runtime = Runtime.getRuntime();
runtime.exec("rundll32 url.dll,FileProtocolHandler " + url);

Любая помощь будет принята с благодарностью!

Спасибо, Райан

1 Ответ

0 голосов
/ 21 марта 2019

Вы не можете сделать это в приложении Java, работающем в Cloud Foundry ...

Runtime runtime = Runtime.getRuntime();
runtime.exec("rundll32 url.dll,FileProtocolHandler " + url);

Поскольку оно пытается использовать DLL-библиотеку Windows, а приложение, работающее на CF, будет работать на Linux Cells.

Но есть ли способ открыть браузер пользователя?

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

Если вы находитесь всреда Windows, возможно, ваши администраторы Windows могли бы распространять ярлыки общих ярлыков / рабочих столов для всех ваших клиентов / пользователей, которые ссылаются на ваше приложение?Это облегчит им переход на службу.

Надеюсь, это поможет!

...