java中基于表单的身份验证

发布于 2024-08-25 08:18:41 字数 378 浏览 5 评论 0原文

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

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

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

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

I want to know how can I enable form based authentication in java through database. After connecting to database, how can I verify whether the username and password, which I'm entering through html page is correct or not?

Do I have to change action servlets from j_security_check to another my own defined servlets, which will connect to database and do all its verification on its own? Or I've to send authentication information to j_security_check, which will automatically connect to database, verify username and password.

I'm successful in connecting to database through context.xml file, which is in META-INF directory of my own web application, but I'm not able to understand what's more I've to do enable form based authentication.

I'm using Tomcat 6 as web server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无力看清 2024-09-01 08:18:41

就我个人而言,我在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中定义数据源(以允许在不同环境中使用相同的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"/>

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

Personally I use a DataSourceRealm in the context.xml of the webapp:

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

And I define the datasource in the server.xml of tomcat (to allow the use of the same war in different environments):

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

the table rolemap is actually a view because the database model is different from the one that tomcat is expecting.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文