2017-02-15 53 views
0

任何人都可以請告訴我,如果有可能以某種方式爲默認應用程序管理器的tomcat用戶定義角色,那麼他將只能部署特定的應用程序?情況是開發人員只能通過控制檯進行部署,因爲服務器本身由第三方管理。處理它花錢(字面上)。安全要求是他們應該能夠部署和取消部署他們正在工作的應用程序。多個tomcat實例的概念被拒絕了。有沒有可以做到的第三方應用程序?任何想法都歡迎。在tomcat管理器中,如何限制用戶只能部署/取消部署特定應用程序?

回答

-1

Tomcat內置的Manager應用程序不支持此功能。假設你相信你的員工,我會建議一種不同的方法。使用社會控制而不是技術控制。

如果有人做了某些事情,他們不應該訪問日誌會告訴你是誰做的,然後你可以採取適當的措施。

+0

Manager應用程序可以被配置爲支持這一點。請參閱https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html – Jevison7x

+0

不,它不能。您鏈接到的文檔介紹瞭如何授予用戶訪問Manager應用程序的權限。它沒有解決OP如何限制用戶去(部署)單個應用程序的問題。 –

-1

試試這個:

首先,內部[tomcat_home]/conf創建一個新用戶的XML數據庫文件,讓我們把它叫做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> 

請注意,您可以在[tomcat_home]/conf/server.xml文件中<tomcat-users>

然後添加多個user標籤,找到<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應用程序的權限。它沒有描述如何限制該用戶去(不)部署單個應用程序。 –

相關問題