2010-03-19 24 views
2

基於身份驗證我想知道我怎麼能允許通過數據庫在Java中基於表單的認證。連接到數據庫後,如何驗證我通過html頁面輸入的用戶名和密碼是否正確?形式在java中

我必須從j_security_check另一個我自己定義的servlet,這將連接到數據庫,並做了自己的所有驗證變化行動的servlet?或者,我已經到認證信息發送到j_security_check,它會自動連接到數據庫,驗證用戶名和密碼。

我成功地通過context.xml文件,這是我自己的Web應用程序的META-INF目錄連接到數據庫,但我無法理解更重要的是我已經做啓用基於表單的身份驗證。

我使用Tomcat 6作爲Web服務器。

+0

什麼是j_security_check? – Thilo 2010-03-19 07:35:24

+0

j_security_check是用於基於表單登錄的url – Stardust 2010-03-19 07:46:57

回答

2

我個人使用一個DataSourceRealm在webapp的context.xml中:

<Realm className="org.apache.catalina.realm.DataSourceRealm" 
     dataSourceName="jdbc/lagalerie" debug="99" localDataSource="true" 
     roleNameCol="role" userCredCol="password" userNameCol="username" 
     userRoleTable="rolemap" userTable="users" digest="md5" 
     digestEncoding="UTF-8"/> 

我定義的tomcat的server.xml中的數據源(允許使用在不同環境中相同的戰爭) :

<Resource auth="Container" type="javax.sql.DataSource" name="jdbc/lagalerie" 
      driverClassName="org.postgresql.Driver" 
      url="jdbc:postgresql://localhost/lagalerie?charSet=LATIN1" 
      maxActive="100" maxIdle="30" maxWait="10000" 
      username="casashop" password="casashop"/> 

表rolemap實際上是一個視圖,因爲數據庫模型與tomcat期望的不同。