使用基本身份验证通过 WebServiceContext 获取密码凭据

Get Password Credentials by WebServiceContext using basic authentication

我想知道使用基本身份验证的 HTTP 请求的用户名和密码。

我正在使用 WebServiceContext。

  @Resource
  private WebServiceContext context;

我可以使用 context.getUserPrincipal().toString()

知道用户名

但是我还是想知道password.By调试允许我看密码,就是password

如何仅通过 WebServiceContext 检索提交的密码?

我可以在调试时看到它,我不能直接从代码访问它吗?

密码是一个char array,如果你使用toString()你会return数组的内存地址。

改为使用 String.valueOf(passwordAsCharArray);

假设您有正确的吸气剂,

String.valueOf(( new ArrayList<PasswordCredential>((((Subject)context.getMessageContex‌​t().get("‌​CLIENT_SUBJECT")).get‌‌​‌​‌​‌​​PrivCredentials‌​())).get(0)).getPassword());