gpt4 book ai didi

java - Web 服务上的自定义 401 错误 (JBoss)

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:19 26 4
gpt4 key购买 nike

我有一个像这样的 jboss Web 服务:

@Stateless
@SecurityDomain("SecurityDomain")
@RolesAllowed("RolesAllowed")
@WebContext(urlPattern = "/*", authMethod = "BASIC", secureWSDLAccess = true)
@EndpointConfig(configName = "Standard WSSecurity Endpoint")
@WebService(name = "WebServiceName", targetNamespace = "http://webserviceName")

当我使用错误的凭据调用此 Web 服务时,我收到以下错误:

<html>
<head>
<title>JBoss Web/2.1.3.GA - Error report</title>
<style>
<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font- size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font- size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font- family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}
A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head>
<body><h1>HTTP Status 401 - </h1><HR size="1" noshade="noshade">
<p><b>type</b> Status report</p>
<p><b>message</b> <u></u></p>
<p><b>description</b> <u>This request requires HTTP authentication ().</u></p>
<HR size="1" noshade="noshade"><h3>JBoss Web/2.1.3.GA</h3>
</body>
</html>

我想知道是否有办法自定义此 401 响应?

请注意,我的网络服务工作正常(我的问题仅在于此自定义)。

非常感谢。

最佳答案

Web 服务使用 JBoss Web 组件来验证用户名和密码(使用基本验证)。 (请注意,我使用的是 JBoss-ESB)

出于这个目的,我们需要更改\jboss-esb\server\\deploy\jbossweb.sar 中的这个 jar (jbossweb.jar)。

我们必须编辑文件“ServerInfo.properties”(在 org\apache\catalina\util 中)并将属性“server.info=2.1.3.GA”更改为“server.info=XPTO”。

或者,也可以重新构建这个 jar 并将标签 @VERSION@ 替换为 XPTO(我相信在 Ant 任务中)。

在此分析过程中,还确定了我们的 BasicAuthenticator 的可能实现。因此可以配置错误消息(401),使其更可配置(最终我们可以返回其他错误)。

为此,您必须更改配置

<property name="authenticators"> 
<..>
<key>BASIC</key>
<value> MyClass </value>

在文件 war-deployers-jboss-beans.xml 中(在\jboss-esb\server\\deployers\jbossweb.deployer\META-INF 中)。

关于java - Web 服务上的自定义 401 错误 (JBoss),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10348453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com