5

好的,所以我一直在 Tomcat 上运行 Java/Jersey 网络服务,它使用基本身份验证,效果非常好。我在项目的 web.xml 文件中设置了权限,并且在服务器上的 tomcat-users.xml 中设置了用户。效果很好。
问题是,现在我必须将这个项目转移到 WebSphere,它远没有实现基本身份验证那么简单。

我已经看到了这个问题:Websphere 6.1 and BASIC Authentication并像建议的那样查看了这个pdf的第 7 章,但我似乎找不到正确的设置(我没有像大多数方法使用的那样标记为“启用全局安全性”的选项) ,并且正在尝试运行我的项目,而 pdf 是非常特定于项目的。

所以要清楚地问我的问题,在 WebSphere 6.1 上启用基本身份验证的最简单方法是什么?

4

2 回答 2

13

在下面写完所有这些之后,我记得我在这里为自己写了一篇博客:

WebSphere 6.1 和应用程序认证

据我了解,您已经正确设置了 web.xml,因此:

     <security-role>
    <role-name>myrole</role-name>
  </security-role>

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>mySec</web-resource-name>
      <url-pattern>/yourUrl</url-pattern>
      <http-method>DELETE</http-method>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
      <http-method>PUT</http-method>
      <http-method>HEAD</http-method>
      <http-method>TRACE</http-method>
      <http-method>OPTIONS</http-method>
    </web-resource-collection>
    <auth-constraint>
      <role-name>myrole</role-name>
    </auth-constraint>
    <user-data-constraint>
      <description>SSL or MSSL not required</description>
      <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
  </security-constraint>

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

如果您使用的是管理控制台,但您没有声明您不是,请转到控制台:

http://localhost:9060/ibm/console

然后登录(如果您有管理安全设置)

然后去这里

  1. 左侧面板单击安全性
  2. 安全的管理、应用程序和基础架构
  3. 然后页面上有一个部分应用程序安全
  4. 选中启用应用程序安全复选框
  5. 单击应用,然后保存到主配置。

然后,您打开了应用程序安全性。现在您需要将应用程序的用户映射到 websphere 中的用户。

到这里

  1. 项目清单
  2. 应用 > 企业应用
  3. 单击您的应用程序
  4. 在详细属性部分下,您将看到安全角色到用户/组映射
    的链接,如果您的 web.xml 设置正确,您只会看到此链接
  5. 单击安全角色到用户/组的映射
  6. 选择您希望用于身份验证的角色
  7. 单击查找用户或查找组
  8. 单击搜索并选择用户(在用户和组菜单下的 websphere 中设置)
  9. 使用箭头将选定的用户/组移动到右侧框
  10. 单击确定并保存到主配置。
  11. 重新启动您的服务器。

必须打开管理安全性(Websphere 本身的安全性)才能正常工作。

WebSphere 可能很复杂,但它功能强大且功能强大。

于 2011-06-10T13:45:18.443 回答
3

您不应该列出 http 方法。这样做意味着安全约束仅适用于这些方法,并且可以通过所谓的“扩展”方法绕过,例如 JEFF 方法。只需删除它们,约束将适用于所有内容。在https://www.aspectsecurity.com/research/aspsec_presentations/download-bypassing-web-authentication-and-authorization-with-http-verb-tampering/上有一篇关于 http 动词篡改的论文

于 2012-11-01T14:57:16.130 回答