成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

配置JBoss如何從數據庫里讀取信息

開發 后端
本文介紹配置JBoss如何從數據庫里讀取登錄用戶的驗證信息。包括配置login-config.xml,配置連接池等。

在我的項目一開始的時候由于時間關系,沒能摸清楚如何實現用自己寫的模塊處理登錄,所以就采用了比較簡單RDBMS(即用JBoss的 DatabaseServerLoginModule)模塊處理登錄事件,然后通過一個過濾器判斷用戶是否已經登錄,如果登錄了再從數據庫中讀取用戶信息到session中。雖然自己都感覺到有點不倫不類,但我還是將我的具體實現方式在下面寫出來:

1.配置login-config.xml
編輯JBoss主目錄下的 server/default/conf 目錄下的login-config.xml文件,在<policy>節點下加入如下的內容:

  1. <policy> 
  2. ….    
  3.  <application-policy name = "nccnm"> 
  4.        <authentication> 
  5.           <login-module code = "org.jboss.security.auth.spi.                              DatabaseServerLoginModule" flag = "required"> 
  6.                         <!--配置訪問數據庫的連接池名稱為cnmtestds --> 
  7.              <module-option name = "dsJndiName">java:/ testds</module-option> 
  8.    
  9.                       <!--配置根據登錄名獲取密碼的sql語句 --> 
  10.              <module-option name = "principalsQuery">SELECT PASSWORD FROM                                    OPERATOR  WHERE LOGINID=?</module-option> 
  11.    
  12.                      <!--配置根據登錄名獲取用戶角色的sql語句 --> 
  13.              <module-option name = "rolesQuery">SELECT ROLENAME,'Roles'  FROM V_ROLE WHERE LOGINID=?</module-option> 
  14.    
  15.                       <!--使用MD5方式加密密碼 --> 
  16.              <module-option name="hashAlgorithm">MD5</module-option> 
  17.                        <!--將加密后的密碼再轉為base64編碼 --> 
  18.                       <module-option name="hashEncoding">base64</module-option>              
  19.           </login-module> 
  20.  </authentication> 
  21. </application-policy>    
  22. ….  
  23. </policy> 

在這里順便簡單介紹一下MD5和Base64。MD5是一種不可逆的編碼算法,即你不可能由已經加密的密碼字符串來根據固定的算法還原出原來的密碼,據說現在的銀行系統大多數采用這種方式來儲存用戶密碼,所以如果用戶的密碼遺失了,銀行也不可能通過查數據庫給你找回你原來設的密碼,只能重新設置。要破解MD5的密碼只能用很笨很好時的窮舉法。

而Base64的編碼其實大家都應該經常接觸,我們的電子郵件一般都是經過Base64編碼后傳送的,如果您用的是Outlook Express收發郵件,那你可以通過郵件的“屬性/詳細信息/郵件來源”看到郵件的Base64編碼的信息。它將二進制數據編碼為字母和數字,因為字母和數字的個數少于256,所以它是把3個字節的二進制數據轉換為4個字節的字母和數字。所以經過base64編碼的文件會比原來的文件大4/3倍。JBoss用專門的API來處理md5加密及base64的編碼和反編碼。

2.配置連接池
上面的文件中用到了一個名為testds的連接池,現在就來配置這個連接池。我這里用的是oracle數據庫,其它的數據庫的配置方式就不一一介紹了。具體的表結構和建表的sql語句我這里也不再描述了,如果有不清楚的地方清留言問我。
編輯JBoss主目錄下的server\default \deploy目錄 (什么?你的目錄下沒有找到這個文件,沒關系,從你的JBoss主目錄的docs\examples\jca下copy一個過來)。在<datasources>節點之間加入如下內容:

  1. <local-tx-datasource> 
  2.     <jndi-name>testds</jndi-name> 
  3.     <connection-url>jdbc:oracle:thin:@127.0.0.1:1521:mydb</connection-url> 
  4.     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> 
  5.     <user-name>test</user-name> 
  6.     <password>123</password> 
  7.     <exception-sorter-class-name>org.jboss.resource.adapter.                      jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> 
  8.       <metadata> 
  9.          <type-mapping>Oracle9i</type-mapping> 
  10.       </metadata> 
  11.  </local-tx-datasource> 

3.配置JBoss-web.xml
配置JBoss就完成了,下面再配置我們的項目里的文件。
打開你的Web應用下的Web目錄下的的WEB-INF目錄,新建一個JBoss-web.xml的文件,在文件中加入如下內容:

  1. <jboss-web> 
  2.   <!-- Uncomment the security-domain to enable security. You will  
  3.       need to edit the htmladaptor login configuration to setup the  
  4.       login modules used to authentication users.  
  5.    --> 
  6. <!-- 下面的nccnm就是在login-config.xml配置的application-policy的名稱 --> 
  7.    <security-domain>java:/jaas/ nccnm </security-domain> 
  8. </jboss-web> 

這個配置Jboss會告訴我們這個應用的JAAS安全性策略到哪里去找。

4.配置web.xml
打開你的Web應用下的Web目錄下的的WEB-INF目錄,編輯web.xml (這個文件應該能找到吧?如果找不到就麻煩了,從頭去啃J2EE),加入如下的內容:

  1. <security-constraint> 
  2.     <web-resource-collection> 
  3.       <web-resource-name>login required</web-resource-name> 
  4.       <url-pattern>*.jsp</url-pattern> 
  5.       <url-pattern>*.htm</url-pattern> 
  6.       <url-pattern>*.html</url-pattern> 
  7.       <url-pattern>*.do</url-pattern> 
  8.     </web-resource-collection> 
  9.     <auth-constraint> 
  10.       <role-name>role1</role-name> 
  11.     </auth-constraint> 
  12.  </security-constraint> 
  13.  <login-config> 
  14.        <!-- 通過表單方式來提交登錄 --> 
  15.     <auth-method>FORM</auth-method> 
  16.     <realm-name>mydomain</realm-name>     
  17. <form-login-config> 
  18.        <!-- 登錄頁面為login.jsp --> 
  19.       <form-login-page>/login.jsp</form-login-page> 
  20.                
  21.               <!--登錄出錯的話轉到error.jsp頁面 --> 
  22.       <form-error-page>/error.jsp</form-error-page> 
  23.     </form-login-config> 
  24.  </login-config> 
  25.  <security-role> 
  26.     <role-name>role1</role-name> 
  27.  </security-role> 


以上內容的是配置JBoss,作用是本Web應用下的所有 jsp,htm,html,do為擴展名的資源都要登錄后才能訪問(你可以根據你的需要來設置,通常你可以設置<url-pattern>* </url-pattern>來限制沒有登錄所有的資源都不能訪問),而且只有role1角色的用戶才能訪問。

【編輯推薦】

  1. JBoss企業中間件概述
  2. 配置JBoss4.0上MySQL數據庫
  3. JBoss配置mysql數據庫連接池
  4. Red Hat宣布JBoss開放選擇應用平臺戰略
  5. 在JBoss4.0上完成Oracle數據庫配置
責任編輯:佚名 來源: 新浪博客
相關推薦

2010-04-06 11:39:17

Oracle數據庫

2009-06-16 09:25:31

JBoss配置

2009-06-16 10:55:23

MySQL數據庫

2010-04-20 10:12:42

OraclePL

2009-06-15 13:24:46

JBoss數據源

2009-06-16 10:25:13

Oracle數據庫

2011-04-11 13:58:19

數據庫

2009-06-16 13:56:05

SysBase數據庫

2009-06-18 15:15:35

JBoss的配置

2010-04-08 16:13:34

Oracle數據庫

2009-06-15 12:59:09

JBoss配置

2009-06-12 14:12:18

JBoss配置MyEclipse

2009-06-16 11:11:25

JBoss目錄數據庫連接

2022-03-24 15:29:12

黑客網絡攻擊勒索軟件

2014-11-20 09:47:06

Java

2010-08-26 16:34:12

DB2Excel讀取

2009-06-26 17:37:37

JBOSS配置

2009-06-12 15:54:07

JBoss集群配置

2009-06-12 16:05:47

JBoss配置

2010-04-19 16:01:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人片免费看 | 欧美精品一区二区三区在线播放 | 亚洲h视频 | 91九色网站 | 久久一级大片 | 亚洲精品一区二区三区中文字幕 | www久久| 一区二区在线 | 午夜影晥 | a级毛片国产 | 久久伊人操 | 九九热在线免费视频 | 日韩精品在线观看网站 | 国产精品1区2区 | 国产美女久久 | 久久免费精品视频 | av在线免费观看网址 | 最新国产精品视频 | 亚洲一区二区av | 国产精品一级在线观看 | 神马久久久久久久久久 | 国产婷婷色一区二区三区 | 精品免费看 | 亚洲区一 | 亚洲精品在线看 | 久久激情av | 超碰在线观看97 | 一区二区三区不卡视频 | 亚洲首页 | 日韩超碰在线 | 拍真实国产伦偷精品 | 久久人 | 嫩草影院网址 | 99精品久久久久久中文字幕 | 日本a级大片 | 日韩免费1区二区电影 | 91极品尤物在线播放国产 | www.操.com | 国产福利精品一区 | 欧美一区二区三区在线观看 | 亚洲三级在线观看 |