2010-03-19 32 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期望的不同。