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

时间:2015-01-28 14:58:15

标签: java web-services

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

我正在使用WebServiceContext。

  @Resource
  private WebServiceContext context;

我可以通过使用context.getUserPrincipal()知道用户名.toString()

但我仍然想知道密码。通过调试我可以看到我的密码,这是密码。

enter image description here

如何检索仅访问WebServiceContext

的提交密码

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

1 个答案:

答案 0 :(得分:1)

密码是char array,如果使用toString(),则会返回数组的内存地址。

而是使用String.valueOf(passwordAsCharArray);

假设你有正确的吸气剂,

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