2017-02-15 35 views
0

может ли кто-нибудь рассказать мне, можно ли определить роль пользователя tomcat менеджера приложений по умолчанию таким образом, чтобы он мог развернуть только конкретное приложение? Ситуация заключается в том, что разработчики могут развертывать только через консоль, поскольку сам сервер администрируется третьей стороной. И дело с этим стоит денег (буквально). Требование безопасности заключается в том, что они должны иметь возможность развертывать и развертывать только приложение, над которым они работают. Было отвергнуто понятие множественных экземпляров tomcat. Есть ли сторонние приложения, которые могут это сделать? Любые идеи приветствуются.В менеджере tomcat, как я могу ограничить пользователей возможностью развертывания/развертывания только определенного приложения?

ответ

-1

Приложение разработчика Tomcat's Manager не поддерживает это. Предполагая, что вы доверяете своим сотрудникам, я предлагаю другой подход. Используйте социальный контроль, а не технический контроль.

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

+0

приложения управления может быть сконфигурирована для поддержки этого. см. https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html – Jevison7x

+0

Нет, это невозможно. Документ, на который вы ссылаетесь, описывает, как предоставить пользователю доступ к приложению Manager. Он не затрагивает вопрос OP о том, как ограничить этого пользователя (un) развертыванием одного приложения. –

-1

Попробуйте это:

Прежде всего, создать новый файл базы данных пользователей 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

+0

Это не касается вопроса OP. В этом ответе описывается, как предоставить пользователю доступ к приложению Manager. Он не описывает, как ограничить этого пользователя (un) развертыванием одного приложения. –