如何在WebSphere上获得基本身份验证?

时间:2011-06-10 13:27:11

标签: java web-services websphere basic-authentication websphere-6.1

好的,所以我一直在Tomcat上运行Java / Jersey Web服务,基本身份验证工作正常。我已经在项目的web.xml文件中设置了权限,用户在服务器上的tomcat-users.xml中设置了权限。效果很好。
问题是,现在我必须将这个项目转移到WebSphere,而这远远不如基本身份验证的实现那么简单。

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

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

2 个答案:

答案 0 :(得分:14)

在写完以下所有内容后,我记得我在这里为自己写过这篇文章:

WebSphere 6.1 and Application Authentication

据我所知,您已正确设置了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. 单击“应用”,然后保存到主配置。
  6. 然后您启用了应用程序安全性。现在,您需要将应用程序的用户映射到websphere中的用户。

    去这里

    1. 列表项
    2. 应用程序&gt;企业应用程序
    3. 点击您的申请
    4. 在详细属性部分下,您将看到链接安全角色到用户/组映射
      如果您的web.xml设置正确
    5. ,您将只会看到此链接
    6. 单击“安全角色到用户/组映射”
    7. 选择您要用于身份验证的角色
    8. 点击查找用户或查找群组
    9. 点击搜索并选择用户(在用户和群组菜单
    10. 下的websphere中设置的用户)
    11. 使用箭头将选定的用户/组移动到右侧框
    12. 单击“确定”并保存到主配置。
    13. 重启服务器。
    14. 必须启用管理安全性(Websphere本身的安全性)才能使其正常工作。

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

答案 1 :(得分:3)

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