程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> 在Weblogic環境中實現Servlet應用

在Weblogic環境中實現Servlet應用

編輯:關於JSP

在Weblogic環境中利用應用服務器本身的配置,可以比較全面的實現用戶認證。由於我們主要是面向開發,這裡主要講解Servlet應用用戶角色規則也就是我們常說的http用戶認證,下面還是使用這個我們熟悉的名詞吧)。

Weblogic用戶認證的三種方式

在Weblogic環境應用服務器中,系統提供了三種不同的用戶認證方式:

1、BASIC

基本的身份認證方式,使用WEB浏覽器彈出一個要求輸入用戶名和密碼的對話框。這個用戶名和密碼將在網站的某個些)內容模塊中被強制要求。

2、FORM

基於FORM的用戶認證要求你返回一個包括用戶名和密碼的HTML表單,這個表單相對應與用戶名和密碼的元素必須是j_username和j_password,並且表單的action描述必須為j_security_check。下面是一個表單的例子:

  1. <form method="POST" action="j_security_chack"> 
  2. <input type="text" name="j_username"> 
  3. <input type="password" name="j_password"> 
  4. </form> 

包括這個表單的資源可以是一個HTML頁面、一個JSP頁面或者一個Servlet。你可以在<form-login-page>元素中定義。當這個認證頁面被提交的時候,將創建一個HTTP session。所以,當認證成功後,使用session.isNew()方法將獲得一個FALSE的返回。

3、CLIENT-CERT

就是使用客戶數字證書來認證請求,一般都和SSL相聯系。如果需要使用請參考有關SSL相關內容。

使用何種認證方法,可以在web.xml裡的<login-config>元素中的子元素<auth-method>裡定義。可能的選擇的值為BASIC或FORM或CLIENT-CERT三者之一。

Servlet應用用戶認證

要Servlet應用用戶認證,必須先對web application進行相應的配置。

1、修改Weblogic.xml文件中的相關條目:

  1. <security-role-assignment> 
  2. <role-name>mgr</role-name> 
  3. <principal-name>al</principal-name> 
  4. <principal-name>george</principal-name> 
  5. <principal-name>ralph</principal-name> 
  6. </security-role-ref> 

注:<role-name>是角色名,例如現在這是管理員,然後<principal-name>元素中指定角色所包括的所有用戶名。

2、在web.xml的<security-role>元素中定義要使用的角色名mgr在<role-name>元素中),並在<Servlet>注冊項中為mgr角色做一個鏈接manager)

  1. <servlet> 
  2. ...  
  3. <role-name>manager</role-name> 
  4. <role-link>mgr</role-link> 
  5. ...  
  6. </servlet> 
  7. <security-role> 
  8. <role-name>mgr</role-name> 
  9. </security-role> 

到這裡服務器上的配置文件就完成了所需要的修改。

3、在Servlet中引用服務器的角色認證,只需要在合適的地方加入下一語句即可。

isUserInRole("manager");

值得注意的是,當用戶認證順利返回後,一個session將被建立。而在Weblogic環境中,缺省的情況下各個web appliction都使用相同的cookie名JSESSIONID),所以當任何一個認證成功以後,所有的Web Application都將使用這個相同的cookie名來保存有關認證的信息,從而實現“全站通”概念。假如你想對某個Web Application使用一個單獨的認證,你可以為這個應用單獨定義一個cookie名,這可以通過對Weblogic.xml裡的<session-descriptor>元素有關內容進行相應修改。

  1. 創建Servlet過濾器的向導
  2. 安裝Servlet和JSP開發工具
  3. 擴展Future Response Servlet
  4. Servlet容器的匹配過程
  5. 淺談user cache Servlet

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved