コード例 #1
0
  private String getFailedPrincipal(LoginState loginState) {
    if (loginState == null) {
      return null;
    }

    String principal = loginState.getUserDN();
    if (principal != null) {
      return DNUtils.DNtoName(principal);
    }

    principal = loginState.getFailureTokenId();
    if (principal != null) {
      return principal;
    }

    if (CollectionUtils.isNotEmpty(loginState.getAllReceivedCallbacks())) {
      for (Callback[] cb : loginState.getAllReceivedCallbacks().values()) {
        for (Callback aCb : cb) {
          if (aCb instanceof NameCallback) {
            return ((NameCallback) aCb).getName();
          }
        }
      }
    }
    return null;
  }