中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)絡(luò)編程 > Tomcat配置技巧Top10
JavaBean與EJB有何不同之處 回到列表 在tomcat和ant中使用jikes
 Tomcat配置技巧Top10

作者:陳光 時(shí)間: 2005-11-29 文檔類型:轉(zhuǎn)載 來自:賽迪網(wǎng)

第 1 頁 Tomcat配置技巧Top10 [1]
第 2 頁 Tomcat配置技巧Top10 [2]

5、配置基礎(chǔ)驗(yàn)證(Basic Authentication)

容器管理驗(yàn)證方法控制著當(dāng)用戶訪問受保護(hù)的web應(yīng)用資源時(shí),如何進(jìn)行用戶的身份鑒別。當(dāng)一個(gè)web應(yīng)用使用了Basic Authentication(BASIC參數(shù)在web.xml文件中auto-method元素中設(shè)置),而有用戶訪問受保護(hù)的web應(yīng)用時(shí),Tomcat將通過HTTP Basic Authentication方式,彈出一個(gè)對(duì)話框,要求用戶輸入用戶名和密碼。在這種驗(yàn)證方法中,所有密碼將被以64位的編碼方式在網(wǎng)絡(luò)上傳輸。

注意:使用Basic Authentication通過被認(rèn)為是不安全的,因?yàn)樗鼪]有強(qiáng)健的加密方法,除非在客戶端和服務(wù)器端都使用HTTPS或者其他密碼加密碼方式(比如,在一個(gè)虛擬私人網(wǎng)絡(luò)中)。若沒有額外的加密方法,網(wǎng)絡(luò)管理員將能夠截獲(或?yàn)E用)用戶的密碼。

但是,如果你是剛開始使用Tomcat,或者你想在你的web應(yīng)用中測(cè)試一下基于容器的安全管理,Basic Authentication還是非常易于設(shè)置和使用的。只需要添加兩個(gè)元素到你的web應(yīng)用的web.xml文件中,并且在CATALINA_BASE/conf/tomcat-users.xml文件中添加適當(dāng)?shù)?ROLE>和即可,然后重新啟動(dòng)Tomcat。

下面例子中的web.xml摘自一個(gè)俱樂部會(huì)員網(wǎng)站系統(tǒng),該系統(tǒng)中只有member目錄被保護(hù)起來,并使用Basic Authentication進(jìn)行身份驗(yàn)證。請(qǐng)注意,這種方式將有效的代替Apache web服務(wù)器中的.htaccess文件。

<!--
Define the
Members-only area,
by defining
a "Security Constraint"
on this Application, and
mapping it to the
subdirectory (URL) that we want
to restrict.
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>
Entire Application
</web-resource-name>
<url-pattern>/members/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>member</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login
Configuration for
this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>My Club
Members-only Area</realm-name>
</login-config>

6、配置單點(diǎn)登錄(Single Sign-On)

一旦你設(shè)置了realm和驗(yàn)證的方法,你就需要進(jìn)行實(shí)際的用戶登錄處理。一般說來,對(duì)用戶而言登錄系統(tǒng)是一件很麻煩的事情,你必須盡量減少用戶登錄驗(yàn)證的次數(shù)。作為缺省的情況,當(dāng)用戶第一次請(qǐng)求受保護(hù)的資源時(shí),每一個(gè)web應(yīng)用都會(huì)要求用戶登錄。

如果你運(yùn)行了多個(gè)web應(yīng)用,并且每個(gè)應(yīng)用都需要進(jìn)行單獨(dú)的用戶驗(yàn)證,那這看起來就有點(diǎn)像你在與你的用戶搏斗。用戶們不知道怎樣才能把多個(gè)分離的應(yīng)用整合成一個(gè)單獨(dú)的系統(tǒng),所有他們也就不知道他們需要訪問多少個(gè)不同的應(yīng)用,只是很迷惑,為什么總要不停的登錄。

Tomcat 4的“single sign-on”特性允許用戶在訪問同一虛擬主機(jī)下所有web應(yīng)用時(shí),只需登錄一次。為了使用這個(gè)功能,你只需要在Host上添加一個(gè)SingleSignOn Valve元素即可,如下所示:

<Valve className=
"org.apache.catalina.
authenticator.SingleSignOn"
debug="0"/>

在Tomcat初始安裝后,server.xml的注釋里面包括SingleSignOn Valve配置的例子,你只需要去掉注釋,即可使用。那么,任何用戶只要登錄過一個(gè)應(yīng)用,則對(duì)于同一虛擬主機(jī)下的所有應(yīng)用同樣有效。使用single sign-on valve有一些重要的限制:

1> value必須被配置和嵌套在相同的Host元素里,并且所有需要進(jìn)行單點(diǎn)驗(yàn)證的web應(yīng)用(必須通過context元素定義)都位于該Host下。

2> 包括共享用戶信息的realm必須被設(shè)置在同一級(jí)Host中或者嵌套之外。

3> 不能被context中的realm覆蓋。

4> 使用單點(diǎn)登錄的web應(yīng)用最好使用一個(gè)Tomcat的內(nèi)置的驗(yàn)證方式(被定義在web.xml中的中),這比自定義的驗(yàn)證方式強(qiáng),Tomcat內(nèi)置的的驗(yàn)證方式包括basic、digest、form和client-cert。

5> 如果你使用單點(diǎn)登錄,還希望集成一個(gè)第三方的web應(yīng)用到你的網(wǎng)站中來,并且這個(gè)新的web應(yīng)用使用它自己的驗(yàn)證方式,而不使用容器管理安全,那你基本上就沒招了。你的用戶每次登錄原來所有應(yīng)用時(shí)需要登錄一次,并且在請(qǐng)求新的第三方應(yīng)用時(shí)還得再登錄一次。

當(dāng)然,如果你擁有這個(gè)第三方web應(yīng)用的源碼,而你又是一個(gè)程序員,你可以修改它,但那恐怕也不容易做。

6> 單點(diǎn)登錄需要使用cookies。

7、配置用戶定制目錄(Customized User Directores)

一些站點(diǎn)允許個(gè)別用戶在服務(wù)器上發(fā)布網(wǎng)頁。例如,一所大學(xué)的學(xué)院可能想給每一位學(xué)生一個(gè)公共區(qū)域,或者是一個(gè)ISP希望給一些web空間給他的客戶,但這又不是虛擬主機(jī)。在這種情況下,一個(gè)典型的方法就是在用戶名前面加一個(gè)特殊字符(~),作為每位用戶的網(wǎng)站,比如:

http://www.cs.myuniversity.edu/~username
http://members.mybigisp.com/~username

Tomcat提供兩種方法在主機(jī)上映射這些個(gè)人網(wǎng)站,主要使用一對(duì)特殊的Listener元素。Listener的className屬性應(yīng)該是org.apache.catalina.startup.UserConfig,userClass屬性應(yīng)該是幾個(gè)映射類之一。

如果你的系統(tǒng)是Unix,它將有一個(gè)標(biāo)準(zhǔn)的/etc/passwd文件,該文件中的帳號(hào)能夠被運(yùn)行中的Tomcat很容易的讀取,該文件指定了用戶的主目錄,使用PasswdUserDatabase 映射類。

<Listener className=
"org.apache.catalina.startup.UserConfig"
directoryName="public_html"
userClass="org.apache.catalina.
startup.PasswdUserDatabase"/>

web文件需要放置在像/home/users/ian/public_html或者/users/jbrittain/public_html一樣的目錄下面。當(dāng)然你也可以改變public_html 到其他任何子目錄下。

實(shí)際上,這個(gè)用戶目錄根本不一定需要位于用戶主目錄下里面。如果你沒有一個(gè)密碼文件,但你又想把一個(gè)用戶名映射到公共的像/home一樣目錄的子目錄里面,則可以使用HomesUserDatabase類。

<Listener className=
"org.apache.catalina.startup.UserConfig"
directoryName="public_html"
homeBase="/home"
userClass="org.apache.catalina.
startup.HomesUserDatabase"/>

這樣一來,web文件就可以位于像/home/ian/public_html或者/home/jasonb/public_html一樣的目錄下。這種形式對(duì)Windows而言更加有利,你可以使用一個(gè)像c:\home這樣的目錄。

這些Listener元素,如果出現(xiàn),則必須在Host元素里面,而不能在context元素里面,因?yàn)樗鼈兌加脩?yīng)用于Host本身。

8、在Tomcat中使用CGI腳本

Tomcat主要是作為Servlet/JSP容器,但它也有許多傳統(tǒng)web服務(wù)器的性能。支持通用網(wǎng)關(guān)接口(Common Gateway Interface,即CGI)就是其中之一,CGI提供一組方法在響應(yīng)瀏覽器請(qǐng)求時(shí)運(yùn)行一些擴(kuò)展程序。

CGI之所以被稱為通用,是因?yàn)樗茉诖蠖鄶?shù)程序或腳本中被調(diào)用,包括:Perl,Python,awk,Unix shell scripting等,甚至包括Java。

當(dāng)然,你大概不會(huì)把一個(gè)Java應(yīng)用程序當(dāng)作CGI來運(yùn)行,畢竟這樣太過原始。一般而言,開發(fā)Servlet總要比CGI具有更好的效率,因?yàn)楫?dāng)用戶點(diǎn)擊一個(gè)鏈接或一個(gè)按鈕時(shí),你不需要從操作系統(tǒng)層開始進(jìn)行處理。

Tomcat包括一個(gè)可選的CGI Servlet,允許你運(yùn)行遺留下來的CGI腳本。

為了使Tomcat能夠運(yùn)行CGI,你必須做如下幾件事:

1. 把servlets-cgi.renametojar (在CATALINA_HOME/server/lib/目錄下)改名為servlets-cgi.jar。處理CGI的servlet應(yīng)該位于Tomcat的CLASSPATH下。

2. 在Tomcat的CATALINA_BASE/conf/web.xml 文件中,把關(guān)于 CGI的那段的注釋去掉(默認(rèn)情況下,該段位于第241行)。

3. 同樣,在Tomcat的CATALINA_BASE/conf/web.xml文件中,把關(guān)于對(duì)CGI進(jìn)行映射的那段的注釋去掉(默認(rèn)情況下,該段位于第299行)。注意,這段內(nèi)容指定了HTML鏈接到CGI腳本的訪問方式。

4. 你可以把CGI腳本放置在WEB-INF/cgi 目錄下(注意,WEB-INF是一個(gè)安全的地方,你可以把一些不想被用戶看見或基于安全考慮不想暴露的文件放在此處),或者你也可以把CGI腳本放置在context下的其他目錄下,并為CGI Servlet調(diào)整cgiPathPrefix初始化參數(shù)。這就指定的CGI Servlet的實(shí)際位置,且不能與上一步指定的URL重名。

5. 重新啟動(dòng)Tomcat,你的CGI就可以運(yùn)行了。

在Tomcat中,CGI程序缺省放置在WEB-INF/cgi目錄下,正如前面所提示的那樣,WEB-INF目錄受保護(hù)的,通過客戶端的瀏覽器無法窺探到其中內(nèi)容,所以對(duì)于放置含有密碼或其他敏感信息的CGI腳本而言,這是一個(gè)非常好的地方。

為了兼容其他服務(wù)器,盡管你也可以把CGI腳本保存在傳統(tǒng)的/cgi-bin目錄,但要知道,在這些目錄中的文件有可能被網(wǎng)上好奇的沖浪者看到。另外,在Unix中,請(qǐng)確定運(yùn)行Tomcat的用戶有執(zhí)行CGI腳本的權(quán)限。

9、改變Tomcat中的JSP編譯器(JSP Compiler)

在Tomcat 4.1(或更高版本,大概),JSP的編譯由包含在Tomcat里面的Ant程序控制器直接執(zhí)行。這聽起來有一點(diǎn)點(diǎn)奇怪,但這正是Ant有意為之的一部分,有一個(gè)API文檔指導(dǎo)開發(fā)者在沒有啟動(dòng)一個(gè)新的JVM的情況下,使用Ant。

這是使用Ant進(jìn)行Java開發(fā)的一大優(yōu)勢(shì)。另外,這也意味著你現(xiàn)在能夠在Ant中使用任何javac支持的編譯方式,這里有一個(gè)關(guān)于Apache Ant使用手冊(cè)的javac page列表。

使用起來是容易的,因?yàn)槟阒恍枰?INIT-PARAM> 元素中定義一個(gè)名字叫“compiler”,并且在value中有一個(gè)支持編譯的編譯器名字,示例如下:

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>
org.apache.jasper.servlet.JspServlet
</servlet-class>
<init-param>
<param-name>logVerbosityLevel
</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>compiler</param-name>
<param-value>jikes</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

當(dāng)然,給出的編譯器必須已經(jīng)安裝在你的系統(tǒng)中,并且CLASSPATH可能需要設(shè)置,那處決于你選擇的是何種編譯器。

10、限制特定主機(jī)訪問(Restricting Access to Specific Hosts)

有時(shí),你可能想限制對(duì)Tomcat web應(yīng)用的訪問,比如,你希望只有你指定的主機(jī)或IP地址可以訪問你的應(yīng)用。這樣一來,就只有那些指定的的客戶端可以訪問服務(wù)的內(nèi)容了。為了實(shí)現(xiàn)這種效果,Tomcat提供了兩個(gè)參數(shù)供你配置:RemoteHostValve 和RemoteAddrValve。

通過配置這兩個(gè)參數(shù),可以讓你過濾來自請(qǐng)求的主機(jī)或IP地址,并允許或拒絕哪些主機(jī)/IP。與之類似的,在Apache的httpd文件里有對(duì)每個(gè)目錄的允許/拒絕指定。例如你可以把Admin Web application設(shè)置成只允許本地訪問,設(shè)置如下:

<Context path=
"/path/to/secret_files" ...>
<Valve className="org.apache.
catalina.valves.RemoteAddrValve"
allow="127.0.0.1" deny=""/>
</Context>

如果沒有給出允許主機(jī)的指定,那么與拒絕主機(jī)匹配的主機(jī)就會(huì)被拒絕,除此之外的都是允許的。與之類似,如果沒有給出拒絕主機(jī)的指定,那么與允許主機(jī)匹配的主機(jī)就會(huì)被允許,除此之外的都是拒絕的。

出處:賽迪網(wǎng)
責(zé)任編輯:moby

上一頁 Tomcat配置技巧Top10 [1] 下一頁

◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
在tomcat和ant中使用jikes
關(guān)于AS 1.0、AS 2.0和java
Macromedia Flex 安裝注冊(cè)方法
在ASP中使用簡(jiǎn)單Java類
resin2.1.4 + iis 配置方法
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/21個(gè)記錄/頁 轉(zhuǎn)到 頁 共2個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2