UserDatabaseRealm 是 Tomcat Realm 接口的一種實現,使用 JNDI 資源來存儲用戶信息。默認,JNDI 資源是通過一個 XML 文件來提供支持的。它并不是針對大規模生產環境用途而設計的。在啟動時,UserDatabaseRealm 會從一個 XML 文檔中加載所有用戶以及他們角色的信息(該 XML 文檔默認位于 $CATALINA_BASE/conf/tomcat-users.xml。)用戶、密碼以及相應角色通常可利用 JMX 進行動態編輯,更改結果會加以保存并立刻反映在 XML 文檔中。
跟之前討論的一樣,為了配置 UserDatabaseRealm,需要在 $CATALINA_BASE/conf/server.xml 中創建 元素。關于 UserDatabaseRealm 中的屬性定義可參看 Realm 配置文檔。
用戶文件使用的格式與 MemoryRealm所使用的相同。
默認的 Tomcat 安裝已經配置了內嵌在 元素中的 UserDatabaseRealm,因而可以將其應用于所有的虛擬主機和 Web 應用中。默認的 conf/tomcat-users.xml 文件內容為:
<tomcat-users>
<user username="tomcat" password="tomcat" roles="tomcat" />
<user username="role1" password="tomcat" roles="role1" />
<user username="both" password="tomcat" roles="tomcat,role1" /></tomcat-users>
使用 UserDatabaseRealm 需要遵循以下規則: