@RequestMapping("to_login") public String ToLogin(HttpServletRequest request, ModelMap map) throws WebException { try { // X509Certificate[] clientCertChain = (X509Certificate[]) // request.getAttribute("javax.servlet.request.X509Certificate"); String certString = request.getHeader("client-cert"); if (StringUtils.isEmpty(certString)) { return LOGINPAGER; } certString = certString.replaceAll("\t", "\n"); X509Certificate clientCertChain = (X509Certificate) new PEMReader(new StringReader(certString), null, "SUN").readObject(); if (clientCertChain == null) { return LOGINPAGER; } else { Principal dn = clientCertChain.getSubjectDN(); X500Name x509Principal = (X500Name) dn; String uid = x509Principal.getGivenName(); if (StringUtils.isNotEmpty(uid)) { String[] uids = uid.split(","); map.put("accountName", uids[1]); map.put("memberName", uids[0]); } } return LOGINPAGER; } catch (Exception e) { throw new WebException("系统错误", e); } }