【问题标题】:weblogic 12c basic authentication not prompting for useridweblogic 12c基本身份验证不提示输入用户ID
【发布时间】:2015-06-09 20:27:25
【问题描述】:

我正在尝试为部署在 Weblogic 12c 上的 servlet 配置基本身份验证。这是我的 web.xml

<security-constraint>
 <web-resource-collection>
     <web-resource-name>TestServlets</web-resource-name>
     <url-pattern>/ReasonServlet</url-pattern>
 </web-resource-collection>
 <auth-constraint>
    <role-name>TestServiceRole</role-name>
 </auth-constraint>
</security-constraint>

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

<security-role>
 <role-name>TestServiceRole</role-name>
</security-role>

<servlet>
    <servlet-name>ReasonServlet</servlet-name>
    <servlet-class>com.test.go.track.servlets.ReasonServlet</servlet-class>
  </servlet>
<servlet>
<servlet-mapping>
    <servlet-name>ReasonServlet</servlet-name>
    <url-pattern>/ReasonServlet</url-pattern>
</servlet-mapping>  

这是我的 weblogic.xml:

<security-role-assignment>
  <role-name>TestServiceRole</role-name>
  <principal-name>TestUsers</principal-name>
</security-role-assignment> 

我还做了以下事情:

  1. 创建了一个用户-test,创建了一个组-TestUsers
  2. 将用户测试添加到 TestUsers
  3. 创建了一个角色 - TestServiceRole,添加了 TestUsers 组作为角色条件。
  4. 在进行这些更改和应用程序部署后重新启动 weblogic。

现在,当我尝试通过浏览器访问我的 servlet 时,我没有收到任何弹出窗口来输入 http 用户 ID/密码。我能够访问 servlet,就好像没有配置安全性一样。

但是,当我通过 SoapUI/java 客户端测试我的 servlet,并在 HTTP 标头(授权:基本)中明确设置了一些错误的 http 凭据(base64 编码的用户 ID:错误密码)时,weblogic 会拒绝请求并要求 401 授权错误。

当请求中没有http授权头时,授予访问权限。

我在 weblogic 中是否缺少其他一些配置? 我希望无论是否存在 http auth 标头,都始终进行基本身份验证检查。

请帮忙!!在过去的 2 天里一直在努力解决这个问题..

谢谢!

【问题讨论】:

  • 这可能与 config.xml 中的 标记有关吗?在我的本地环境中,基本身份验证按预期工作,而我的 config.xml 中没有 。该问题仅发生在我们的开发服务器中,我不确定它的 config.xml 中有什么。

标签: java jakarta-ee servlets weblogic weblogic12c


【解决方案1】:

原来是我这边的部署问题。我原来帖子中的配置很好。感谢那些回答我问题的人!!

【讨论】:

  • 能否请您说出您在部署中遇到的问题。我面临同样的问题,我的配置与您在描述符中的配置相似
  • 我在部署脚本中有错字,将其部署到错误的环境并在不同的环境中进行测试。我的配置很好。
【解决方案2】:

您无需指定领域名称,它会自动与 Weblogic 提供的任何内容一起使用。

【讨论】:

  • 我刚试过这个,我仍然看到同样的行为。
【解决方案3】:

在 weblogic.xml 中使用外部定义而不是主体名称。

<security-role-assignment>
  <role-name>TestServiceRole</role-name>
  <externally-defined/>
</security-role-assignment> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    相关资源
    最近更新 更多