【问题标题】:Form based authentication in javajava中基于表单的身份验证
【发布时间】:2010-03-19 07:30:37
【问题描述】:

我想知道如何通过数据库在 java 中启用基于表单的身份验证。连接数据库后,如何验证通过html页面输入的用户名和密码是否正确?

我是否必须将操作 servlet 从 j_security_check 更改为另一个我自己定义的 servlet,它将连接到数据库并自行完成所有验证?或者我必须将身份验证信息发送到 j_security_check,它会自动连接到数据库,验证用户名和密码。

我通过 context.xml 文件成功连接到数据库,该文件位于我自己的 Web 应用程序的 META-INF 目录中,但我无法理解我还需要做什么才能启用基于表单的身份验证。

我使用 Tomcat 6 作为 Web 服务器。

【问题讨论】:

  • j_security_check 是用于基于表单的登录的 url

标签: java authentication tomcat forms-authentication


【解决方案1】:

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

  <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中定义了datasource(以允许不同环境使用同一个war):

<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"/>

表角色映射实际上是一个视图,因为数据库模型与 tomcat 所期望的不同。

【讨论】:

    猜你喜欢
    • 2014-06-09
    • 2014-12-13
    • 2011-01-22
    • 2012-12-14
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    相关资源
    最近更新 更多