Tomcat用戶角色分配與設(shè)置研究
發(fā)布時(shí)間:2018-07-01 來(lái)源: 美文摘抄 點(diǎn)擊:
摘 要:Tomcat作為Java技術(shù)方向使用最廣的服務(wù)器器之一,其自身所帶的Tomcat Manager用來(lái)對(duì)服務(wù)器和部署在服務(wù)器上的web應(yīng)用進(jìn)行統(tǒng)一而有效的管理。擁有適當(dāng)?shù)挠脩艚巧堑顷慣omcat Manager的前提,只有具有相應(yīng)的角色權(quán)限,才能在權(quán)限所允許的范圍內(nèi)訪問(wèn)Tomcat服務(wù)器提供的接口,執(zhí)行部署在服務(wù)器上的web應(yīng)用。
關(guān)鍵詞:部署;權(quán)限;接口
1 引言
默認(rèn)情況下,Tomcat Manager是處于禁用狀態(tài),既是說(shuō),Tomcat Manager需要以用戶角色進(jìn)行登陸并授權(quán)才能使用其角色對(duì)應(yīng)的功能。在Tomcat第7版之后,Tomcat沒(méi)有分配任何默認(rèn)的用戶,對(duì)Tomcat中包含的角色的認(rèn)知和配置其所屬的用戶成為訪問(wèn)Tomcat Manager的重要一個(gè)步驟。
2 Tomcat角色概述
Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開(kāi)發(fā)的一個(gè)Servlet容器,依照原Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能。由于Tomcat本身也內(nèi)含了一個(gè)HTTP服務(wù)器,它也可以被視作一個(gè)單獨(dú)的Web服務(wù)器。Tomcat Manager根據(jù)管理的對(duì)象不同,提供了6種常用的角色,分別是:manager-gui,manager-status,manager-script和manager-jmx、admin-gui、admin-script。
3 Tomcat下用戶角色配置及應(yīng)用
3.1 Realm(域)
Tomcat使用Realm來(lái)實(shí)現(xiàn)對(duì)特定資源進(jìn)行訪問(wèn)權(quán)限的設(shè)定,Realm類似于某些系統(tǒng)中的Role(角色)或Group(組),對(duì)應(yīng)著一定的系統(tǒng)資源。
Tomcat提供3種Realm,通過(guò)不同渠道和方式來(lái)驗(yàn)證訪問(wèn)部署在服務(wù)器上的某個(gè)web應(yīng)用的用戶是否具有指定的權(quán)限。
JDBCRealm用來(lái)將用戶信息保存在數(shù)據(jù)庫(kù)了,通過(guò)JDBC純Java驅(qū)動(dòng)訪問(wèn)數(shù)據(jù)庫(kù)的方式獲取用戶信息,包括角色、用戶名及密碼的關(guān)聯(lián)信息,并進(jìn)行驗(yàn)證。
JNDIRealm則將用戶信息保存在基于LDAP(輕量級(jí)目錄訪問(wèn)協(xié)議)等目錄服務(wù)的服務(wù)器中,通過(guò)JNDI(Java命名和目錄接口)提供的API從LDAP服務(wù)器中獲取用戶信息并驗(yàn)證。
MemoryRealm則是實(shí)現(xiàn)方式最簡(jiǎn)單一種。Memory Realm把用戶信息保存在\conf\tomcat-users.xml文件中;在對(duì)用戶進(jìn)行驗(yàn)證時(shí),將會(huì)從tomcat-users.xml中提取用戶信息。Host Manager和Manager App使用此種Realm。
3.2 MemoryRealm具體實(shí)現(xiàn)
在tomcat-user.xml文件中并沒(méi)有默認(rèn)的角色和用戶信息,所有的角色和用戶信息都用“<!-- -->”進(jìn)行了注釋。其中“manager-gui”角色用來(lái)操作/manager/html目錄下的web應(yīng)用程序,如果操作者需要使用這個(gè)應(yīng)用,則需要定義一個(gè)指定角色為manager-gui,并包含用戶名和密碼的用戶。而這個(gè)用戶盡可能的不要使用在該xml文檔中注釋過(guò)的用戶名,因?yàn)檫@些用戶信息有可能和tomcat提供的web應(yīng)用案例中的用戶信息混淆。
3.3 角色應(yīng)用
tomcat-users.xml文件設(shè)置了角色,使用這些角色名和權(quán)限的前提條件是在包含它們的/webapps目錄下的某個(gè)web應(yīng)用的web.xml中聲明。在對(duì)應(yīng)的web.xml文件中,auth-constraint元素下的role-name子元素起到了對(duì)tomcat-user.xml文件定義的角色信息進(jìn)行調(diào)用的職責(zé)?梢酝ㄟ^(guò)一個(gè)或多個(gè)role-name子元素調(diào)用所需的角色,也可以通過(guò)指定
根據(jù)tomcat在/webapps目錄下提供的host-manager和manager做用戶角色應(yīng)用的進(jìn)一步研究。在host-manager的web.xml中的
4 總結(jié)
Tomcat作為一款靈巧的HTTP服務(wù)器,目前為止已經(jīng)推出了第9版,支持Java8及后續(xù)版本,而現(xiàn)階段使用量最多的8.0.x版和8.5.x版,支持Java7及后續(xù)版本。然后版本的更替并沒(méi)有使得tomcat中用戶角色和權(quán)限的配置改變其原有的地位和重要性,換句話說(shuō),只要tomcat包含Manager App和Host Manager兩款web“原生”應(yīng)用,用戶權(quán)限則一直會(huì)是一個(gè)需要研究和討論的議題。
參考文獻(xiàn)
[1]維基百科Apache Tomcat.[EB/OL].http://zh.wikipedia.org/wiki/Apache_Tomcat,2013,6.
[2]孫衛(wèi)琴.Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解(第2版)[M].電子工業(yè)出版社,2009,1.
[3]Budi Kurniawan著,曹旭東譯.深入剖析Tomcat[M].機(jī)械工業(yè)出版社,2012,1.
[4]Tomcat官方文檔.Apache Tomcat Versions.[EB/OL].http://tomcat.apache.org/whichversion.html,2017,6.
相關(guān)熱詞搜索:分配 角色 設(shè)置 用戶 研究
熱點(diǎn)文章閱讀