может ли кто-нибудь рассказать мне, можно ли определить роль пользователя tomcat менеджера приложений по умолчанию таким образом, чтобы он мог развернуть только конкретное приложение? Ситуация заключается в том, что разработчики могут развертывать только через консоль, поскольку сам сервер администрируется третьей стороной. И дело с этим стоит денег (буквально). Требование безопасности заключается в том, что они должны иметь возможность развертывать и развертывать только приложение, над которым они работают. Было отвергнуто понятие множественных экземпляров tomcat. Есть ли сторонние приложения, которые могут это сделать? Любые идеи приветствуются.В менеджере tomcat, как я могу ограничить пользователей возможностью развертывания/развертывания только определенного приложения?
ответ
Приложение разработчика Tomcat's Manager не поддерживает это. Предполагая, что вы доверяете своим сотрудникам, я предлагаю другой подход. Используйте социальный контроль, а не технический контроль.
Если кто-то делает то, что они не должны, журналы доступа будут сообщать вам, кто это сделал, а затем вы можете предпринять соответствующие действия.
Попробуйте это:
Прежде всего, создать новый файл базы данных пользователей XML внутри [tomcat_home]/conf
, позволяет называть его tomcat-users-2.xml
.
Добавьте следующую запись в tomcat-users-2.xml
файл:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="[$yourUsername]" password="[$yourPassword]" roles="tomcat,manager-gui"/>
</tomcat-users>
Обратите внимание, что вы можете добавить больше чем один user
тегов в <tomcat-users>
Затем в файле [tomcat_home]/conf/server.xml
, найти <GlobalNamingResources>
тега и добавьте (внутри его):
<Resource name="UserDatabase2" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users-2.xml" />
Вставьте следующий код внутри <Host ...></Host>
теги приложение, которое вы хотите ограничить пользователя:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase2"/>
Наконец, вы должны перезапустить Tomcat для того, чтобы изменения вступили в силу.
Для получения дополнительной информации, ознакомьтесь this link
Это не касается вопроса OP. В этом ответе описывается, как предоставить пользователю доступ к приложению Manager. Он не описывает, как ограничить этого пользователя (un) развертыванием одного приложения. –
приложения управления может быть сконфигурирована для поддержки этого. см. https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html – Jevison7x
Нет, это невозможно. Документ, на который вы ссылаетесь, описывает, как предоставить пользователю доступ к приложению Manager. Он не затрагивает вопрос OP о том, как ограничить этого пользователя (un) развертыванием одного приложения. –