我已经有点疑惑的,因为我还没有看到许多例子,给我的完整的画面。最好的解释我找到此为止 .

通过确定一个安全的作用web.xml 诸如"管理"例如,和具有我登录的形式与所有必要的领域(i。e j_security_check来作为行动,并且领域j_username,j_password),如何/在哪里做的实际验证的发生?

我计划使用一个自定义的认证使用用户名和密码,(哈希)存储在数据库。当用户提交的形式,我怎么做Java EE网的容器的调用我的sevlet/豆做法执行实际身份验证?我没有注意到任何地方,添加一个钩子我的代码中web.xml 这将做的实际验证。

有帮助吗?

解决方案

  

通过定义在web.xml安全保护作用,如“管理”,例如,和具有我的登录表格的所有必要的字段(即j_security_check作为动作,和字段为j_username,为j_password),如何/在执行实际的认证发生?

在该servlet实现中,servletcontainer。在Tomcat中,例如,它是由完成AuthenticatorBase 类(源代码这里)。

  

我打算使用存储在数据库中的用户名/密码(散列)使用定制的验证。当用户提交表单,我该怎么做了Java EE Web容器调用我的sevlet / bean方法做执行实际的认证?我没有看到任何地方的挂接在web.xml这将做实际的认证添加到我的代码。

如果您想使用容器管理的认证,保持,而是要检查登录对数据库,那么你需要配置所谓的“境界”相应。目前还不清楚你使用的servletcontainer,但在例如Tomcat的,文档可以在这里找到:的 Tomcat的6.0境界HOW-TO 的。

如果你真的想拥有自己的自主开发的验证系统,而不是调用,那么您需要删除容器管理的安全性,并进一步homegrow它。 这是不推荐

其他提示

实际 认证是这样做通过两种方式:

  1. 通过一个服务器专用方法,例如的 *Loginmodule 在Boss,或Tomcat一BalusC提及。这些都是不同的,对每个服务器。
  2. 通过JASPIC,其中介绍了在Java EE6.

JASPIC相当多的已标准化专有的方法,但它是一个相当低的水平API和不幸的是,只有提供完整资料Java EE6和7的实现。

看看 实现容器中的身份验证Java EE与JASPIC 更多的细节。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top