日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
無需修改代碼增強(qiáng)Servlet和JSP的安全性

編寫Servlet和JSP是容易的,但通常我們會面臨很多安全問題。當(dāng)然,我們會在程序中加入大量的安全代碼來解決這個問題,但加入這樣的安全硬編碼將使程序變得不靈活,而且不易維護(hù)。因此,在本文中將給出一種無需修改代碼即可達(dá)到安全目的方法,并提供了一個實(shí)例進(jìn)行說明。
 
在本文中的例子將通過一個用戶名和密碼以及傳輸層的SSL來保護(hù)應(yīng)用程序的war文件。用戶名和密碼以明文在網(wǎng)絡(luò)中傳輸。這一切并不需要編輯應(yīng)用程序中的Java代碼和JSP頁。而為了使Servlet和JSP頁變得安全,我們要做的只是配置web.xml文件而已。
 
一.設(shè)置XML文件
 
配置web.xml文件的***步是定義一個安全約束,也就是一個標(biāo)簽。這個標(biāo)簽將保護(hù)響應(yīng)的URL,以使特定的用戶才能訪問它。注意我們必須要使用標(biāo)簽定義一個或多個HTTP方法。如果你想讓安全約束應(yīng)用到所有的HTTP方法,那么只要簡單的忽略標(biāo)簽即可。
 
做完上面的設(shè)置后,下一步需要設(shè)置SSL。我們可以使用標(biāo)簽以及這個標(biāo)簽的一個子標(biāo)簽來設(shè)置。卻將的值設(shè)置成CONFIDENTIAL。
 
***一步我們需要設(shè)置驗(yàn)證方法。這需要設(shè)置標(biāo)簽以及子標(biāo)簽。在這里我們將設(shè)為BASIC。下面是web.xml文件的部分內(nèi)容:

10年的奉節(jié)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整奉節(jié)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“奉節(jié)網(wǎng)站設(shè)計”,“奉節(jié)網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

 
 
 
  1.  
  2.       < web-resource-collection> 
  3.          Servlet Application  
  4.           
  5.          /* 
  6.        
  7.        
  8.          ttrole 
  9.        
  10.        
  11.          CONFIDENTIAL  
  12.           
  13.        
  14.     
  15.     
  16.       BASIC 
  17.       default 
  18.     
  19.  
  20.     
  21.       ttrole 
  22.    

在上述的例子中,只有用戶"ttrole"才能訪問Servlet和JSP頁。
 
在Java EE環(huán)境中將使用這些用戶驗(yàn)證,但在許多操作系統(tǒng)環(huán)境中,用戶和組關(guān)聯(lián)。因此,security-role-mapping在用戶頭組之間提供了一座橋梁。在Java EE 5應(yīng)用服務(wù)器中,我們可以在sun-application.xml文件中按如下的方式字義security-role-mapping標(biāo)簽:

 
 
 
  1.  
  2.       
  3.        myrole 
  4.        myuser 
  5.       
  6.       
  7.        ttrole 
  8.        ttgroup 
  9.       
  10.       
  11.        arole 
  12.        ttuser 
  13.       
  14.     

二、運(yùn)行實(shí)例代碼

在這一節(jié)我們來講一下如何運(yùn)行上面的程序。在這里我們使用的集成開發(fā)環(huán)境是NetBeans IDE 5.5以及NetBeans企業(yè)開發(fā)包。在安裝完NetBeans后,我們需要進(jìn)行以下幾步來運(yùn)行這個程序。

1. 首先我們需要下載這個程序,下載連接為:例子代碼。 然后將其解壓。

2. 啟動NetBeans。

3. 打開webann工程(剛才zip文件中的NetBeans工程),如果出現(xiàn)一個" Resolve missing server problem"提示信息,說明應(yīng)用服務(wù)器還沒有被加到NetBeans的服務(wù)器列表中。我們可以選擇Tools > Server Manager,然后將相應(yīng)的服務(wù)器加到列表中。

4. 啟動Sun內(nèi)嵌在NetBeans中的Java System Application Server。我們還可以通過在命令中輸入如下的命令來啟動服務(wù)器:
/bin/asadmin start-domain domain1
上面的是應(yīng)用服務(wù)器的安裝目錄。

5. 建立一個用戶。我們可以通過管理控制臺來完成的(默認(rèn)是http://localhost:4848),可按以下步驟操作:
(1) 從左側(cè)的管理樹中選擇Configuration > Security > Realms > file。
(2) 單擊"Manage Users",然后單擊"New"。
(3) 輸入以入信息。
User Id: ttuser
Group List: ttgroup
New Password: ttpassword
Confirm New Password: ttpassword
(4) 單擊"OK",保存設(shè)置。

在建立***個用戶后,使用同樣的方式建立第二個用戶ttusers2,輸入信息如下:
User Id: ttuser2
Group List: ttgroup
New Password: ttpassword
Confirm New Password: ttpassword
 
6. 按著以下步驟編譯NetBeans工程:
(1) 右擊工程窗口的webann節(jié)點(diǎn)。
(2) 選擇"Clean and Build Project"。
在這個步驟中將建立ear文件,并將它們放到webann/dist目錄中。
 
7. 按著以下步驟發(fā)布ear文件:
(1) 右擊工程中的webann節(jié)點(diǎn)。
(2) 選擇"Deploy Project"。
 
除了上述的發(fā)布方法,我們還可以按以下的方式通過管理界面發(fā)布:
(1) 在左側(cè)的控制樹中選擇Applications > Enterprise Applications。
(2) 單擊"Deploy"。
(3) 單擊"Browser"按鈕找到ear文件
(4) 單擊"OK"。
 
我們還可以通過如下的命令行發(fā)布ear文件:
asadmin deploy webann.ear
 
8.下面我們啟動瀏覽器,在地址欄中輸入https://:是主機(jī)名,如果是本機(jī),就是"localhost",是HTTPS的端口,如8181。
 
可能由于瀏覽器的不同,所看到的驗(yàn)證信息不同,但一般會出現(xiàn)一個"unknown authority",這是因?yàn)檫@個例子使用了self-sign驗(yàn)證。然后瀏覽器將會出現(xiàn)一個選項(xiàng),提示您是否繼續(xù)瀏覽應(yīng)用程序。
 
如果我們選擇繼續(xù)瀏覽應(yīng)用程序,系統(tǒng)將會提示我們輸入用戶名和密碼。如果我們使用ttuser登錄,將會看到類似如下的響應(yīng)信息:
Hello, ttuser
Ejb Message: Hello, World, Sat Jun 30 12:04:46 PDT 2007
DataSource login timeout: 0

如果我們使用ttuser2登錄,將會看到類似如下的響應(yīng)信息:
Hello, ttuser2
DataSource login timeout: 0

之所以它們的響應(yīng)信息不同是因?yàn)樗鼈兯巧煌脩魌tuser擁有"ttrole"和"arole"。而ttuser2只有"ttrole",而沒有"arole"。在這個應(yīng)用程序中,只有擁有角色"arole"的用戶可以調(diào)用SlessLocal.hello(String message)方法,這個方法返回一個"Hello, World"信息。

當(dāng)我們運(yùn)行完這個程序后,可以按著如下的步驟卸載ear文件:
1.通過管理界面面卸載ear文件。
(1) 在左側(cè)的功能樹中選擇Applications > Enterprise Applications
(2) 選擇"webann",然后單擊"Undeploy"。
 
2. 通過管理界面面刪除用戶。
(1) 選擇Configuration > Security > Realmn > file
(2) 單擊"Manage Users"。
(3) 選擇ttuser和ttuser2。
(4) 單擊"Delete"。


網(wǎng)站題目:無需修改代碼增強(qiáng)Servlet和JSP的安全性
路徑分享:http://www.5511xx.com/article/dppspjd.html