最简单的j2ee基本身份验证

时间:2015-08-27 17:15:16

标签: java-ee websphere basic-authentication rad

我在WebSphere 8 / RAD 9中,并尝试为我的应用程序编写最简单,最自包含的基本身份验证。我们有很多使用单点登录和LDAP等的复杂应用程序。但我们也在为我们自己的内部使用编写一个小诊断工具,我们希望在同一个盒子上托管。我们将拒绝来自外部的访问,但我们也将使用团队中共享的一个共同的uid / pwd密码保护它...只是为了确保我们保持rif-raff out。

但是就像它说的那样奇怪,这个简单的事情似乎比复杂的应用程序更难。如何通过硬编码到应用程序中的简单的一个或两个用户密码方案使我的webapp具有自包含的基本身份验证?我在web.xml中执行了以下操作,但我不确定用户列表本身的位置,或者如何将这些用户绑定到此查看器角色。

<security-constraint>
  <web-resource-collection>
      <web-resource-name>secure</web-resource-name>
      <url-pattern>/MyServlet</url-pattern>
  </web-resource-collection>
  <auth-constraint>
      <role-name>viewer</role-name>
  </auth-constraint>
</security-constraint>

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>file</realm-name>
</login-config>

<security-role>
  <role-name>viewer</role-name>
</security-role>    

我只是想让它自成一体,所以无论耳朵走到哪里都可以。

2 个答案:

答案 0 :(得分:0)

用户列表来自WAS中配置的存储库。这样,无论是否使用LDAP,基于文件的注册表或自定义配置服务器,您的应用程序都受到保护。

它比在您的应用内部硬编码注册表更好,更灵活,所以我建议你这样做。您可以通过WebSphere Web管理控制台创建用户和组,并将这些用户映射到应用程序中的安全角色。

查看WebSphere Security redbook中的示例。

答案 1 :(得分:0)

部署该应用程序后,转到管理控制台,选择应用程序,选择&#34;安全角色到用户/组映射&#34;,然后选择与&#34;相关联的任何用户/组。观察者&#34;角色。这些用户需要定义到WebSphere(在控制台中是单独的,在&#34;用户和组&#34;下)。您可能需要将领域名称更改为&#34;默认&#34 ;

如果您出于某种原因根本不想使用WebSphere的安全性,那么请删除安全约束并在您的应用程序中实现您自己的安全性(可能就像密码质询一样简单)。您将放弃审计和日志记录,但您将获得WebSphere安全性。