UserDatabaseRealm 是 Tomcat Realm 接口的一種實(shí)現(xiàn),使用 JNDI 資源來存儲(chǔ)用戶信息。默認(rèn),JNDI 資源是通過一個(gè) XML 文件來提供支持的。它并不是針對大規(guī)模生產(chǎn)環(huán)境用途而設(shè)計(jì)的。在啟動(dòng)時(shí),UserDatabaseRealm 會(huì)從一個(gè) XML 文檔中加載所有用戶以及他們角色的信息(該 XML 文檔默認(rèn)位于 $CATALINA_BASE/conf/tomcat-users.xml。)用戶、密碼以及相應(yīng)角色通??衫?/span> JMX 進(jìn)行動(dòng)態(tài)編輯,更改結(jié)果會(huì)加以保存并立刻反映在 XML 文檔中。
跟之前討論的一樣,為了配置 UserDatabaseRealm,需要在 $CATALINA_BASE/conf/server.xml 中創(chuàng)建 元素。關(guān)于 UserDatabaseRealm 中的屬性定義可參看 Realm 配置文檔。
用戶文件使用的格式與 MemoryRealm所使用的相同。
默認(rèn)的 Tomcat 安裝已經(jīng)配置了內(nèi)嵌在 元素中的 UserDatabaseRealm,因而可以將其應(yīng)用于所有的虛擬主機(jī)和 Web 應(yīng)用中。默認(rèn)的 conf/tomcat-users.xml 文件內(nèi)容為:
<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 需要遵循以下規(guī)則: