【问题标题】:How do I get basic authentication working on WebSphere?如何在 WebSphere 上获得基本身份验证?
【发布时间】:2011-06-10 13:27:10
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    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. 点击应用,然后保存到主配置。

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

    去这里

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

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

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

    【讨论】:

    • 这比我以前见过的任何答案都清楚得多。太感谢了。我仍然需要尝试一下,但我很欣赏你在这方面的彻底性。
    • @Gurnard - 我正在尝试按照您的指示进行操作。我将用户分配给组。然后在第 10 步,当我 System Administration &gt; Save change to master repository 它说 Total changed documents: 0 并且用户组关系永远不会被保存。我做错了吗?
    • @RobertHume 只是检查您是否完成了这些步骤。单击应用程序属性中的安全角色到用户/组的映射。如您的 web.xml 中所述,选中角色旁边的复选框。单击映射用户/映射组。点击搜索。从可用列表中选择用户或组。单击指向右侧的箭头。用户或组显示在选定的框中。单击确定。再次单击确定。单击页面顶部消息框中的直接保存到主配置。我认为问题在于您可能会进入系统管理菜单,或者缺少一个确定按钮。
    • @RobertHume 您使用的是什么版本的 WebSphere?
    • @Gurnard WebSphere 7。但是我在 IBM RAD 7.5 中运行 WebSphere 的方式。谢谢!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-31
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多