我正在尝试为部署在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> 我还做了以下工作:
现在,当我试图通过浏览器访问servlet时,没有任何弹出信息可以输入http userid/password。我能够访问servlet,就像没有配置安全性一样。
但是,当我通过SoapUI/java客户端测试servlet并在header (授权: Basic )中显式设置一些错误的http凭据(base64编码的用户I:错误密码)时,weblogic将拒绝带有401-授权所需错误的请求。
如果请求中没有http授权头,则授予访问权限。
我是否在weblogic中缺少了其他配置?我希望始终进行基本的身份验证检查,无论是否存在http头。
救命啊!!在过去的两天里一直在努力解决这个问题。
谢谢!
发布于 2015-06-09 20:37:21
您不需要指定一个领域名称,它将自动与Weblogic提供的任何内容一起工作。
https://stackoverflow.com/questions/30742191
复制相似问题