哪为大神做过cas+acegi单点登陆,求帮助!!
QQ:249312560 遇到问题不能解决了。求大神远程帮助一下。 不知道什么原因。解决问题,100分送上!!!
有帮助,按帮助的大小来送分!!!
异常图:
反解析过来的class文件,出错地点:
protected final Assertion parseResponseFromServer(String response) throws TicketValidationException {
String error = XmlUtils.getTextForElement(response, "authenticationFailure");
if (CommonUtils.isNotBlank(error)) {
throw new TicketValidationException(error);
}
String principal = XmlUtils.getTextForElement(response, "user");
String proxyGrantingTicketIou = XmlUtils.getTextForElement(response, "proxyGrantingTicket");
String proxyGrantingTicket = this.proxyGrantingTicketStorage != null ? this.proxyGrantingTicketStorage.retrieve(proxyGrantingTicketIou) : null;
if (CommonUtils.isEmpty(principal)) {
throw new TicketValidationException("No principal was found in the response from the CAS server.");
}
Map attributes = extractCustomAttributes(response);
Assertion assertion;
if (CommonUtils.isNotBlank(proxyGrantingTicket)) {
AttributePrincipal attributePrincipal = new AttributePrincipalImpl(principal, attributes, proxyGrantingTicket, this.proxyRetriever);
assertion = new AssertionImpl(attributePrincipal);
} else {
assertion = new AssertionImpl(new AttributePrincipalImpl(principal, attributes));
}
customParseResponse(response, assertion);
return assertion;
}
调用上面方法的地点:
public Assertion validate(String ticket, String service)--------------------编程问答-------------------- 要不帮我在没有spring的客户端配置成功CAS+acegi的单点登陆也行。。。现在可以实现有spring的客户端单点登陆成功。 --------------------编程问答-------------------- 可远程。。需要什么代码或者class都能让你看到。。有建议尽管说啊。。。很着急了。。不知道该如何弄。 --------------------编程问答-------------------- 不能沉啊。。。快点帮忙啊。。 --------------------编程问答-------------------- 这种做过的少吧,去官方发帖求助下看看 --------------------编程问答-------------------- http://bbs.csdn.net/topics/330223700 --------------------编程问答-------------------- 呃。。不符合我的啊。。
throws TicketValidationException
{
String validationUrl = constructValidationUrl(ticket, service);
if (this.log.isDebugEnabled()) {
this.log.debug("Constructing validation url: " + validationUrl);
}
try
{
this.log.debug("Retrieving response from server.");
String serverResponse = retrieveResponseFromServer(new URL(validationUrl), ticket);
if (serverResponse == null) {
throw new TicketValidationException("The CAS server returned no response.");
}
if (this.log.isDebugEnabled()) {
this.log.debug("Server response: " + serverResponse);
}
return parseResponseFromServer(serverResponse); }
catch (MalformedURLException e) {
throw new TicketValidationException(e);
}
}
补充:Java , Web 开发