use of com.sun.enterprise.security.jauth.jaspic.provider.PacketMessageInfo in project Payara by payara.
the class ClientSecurityTube method preDestroy.
@Override
public void preDestroy() {
// create a dummy request packet
try {
Packet request = new Packet();
PacketMessageInfo locInfo = new PacketMapMessageInfo(request, new Packet());
Subject subj = getClientSubject(request);
ClientAuthContext locCAC = helper.getClientAuthContext(locInfo, subj);
if (locCAC != null && WSIT_CLIENT_AUTH_CONTEXT.equals(locCAC.getClass().getName())) {
locCAC.cleanSubject(locInfo, subj);
}
} catch (Exception ex) {
// ignore exceptions
}
helper.disable();
}
use of com.sun.enterprise.security.jauth.jaspic.provider.PacketMessageInfo in project Payara by payara.
the class ClientSecurityTube method startSecureConversation.
@Override
public JAXBElement startSecureConversation(Packet packet) throws WSSecureConversationException {
PacketMessageInfo locInfo = new PacketMapMessageInfo(packet, new Packet());
JAXBElement token = null;
try {
// gets the subject from the packet (puts one there if not found)
Subject locClientSubject = getClientSubject(packet);
// put MessageInfo in properties map, since MessageInfo
// is not passed to getAuthContext, key idicates function
HashMap<String, Object> map = new HashMap<>();
map.put(SECURITY_TOKEN, locInfo);
helper.getSessionToken(map, locInfo, locClientSubject);
// helper returns token in map of msgInfo, using same key
Object o = locInfo.getMap().get(SECURITY_TOKEN);
if (o != null && o instanceof JAXBElement) {
token = (JAXBElement) o;
}
} catch (Exception e) {
if (e instanceof WSSecureConversationException) {
throw (WSSecureConversationException) e;
} else {
throw new WSSecureConversationException("Secure Conversation failure: ", e);
}
}
return token;
}
use of com.sun.enterprise.security.jauth.jaspic.provider.PacketMessageInfo in project Payara by payara.
the class WebServicesDelegateImpl method getAuthContextID.
@Override
public String getAuthContextID(MessageInfo messageInfo) {
// make this more efficient by operating on packet
String rvalue = null;
if (messageInfo instanceof PacketMessageInfo) {
PacketMessageInfo pmi = (PacketMessageInfo) messageInfo;
Packet p = pmi.getRequestPacket();
if (p != null) {
Message m = p.getMessage();
if (m != null) {
WSDLPort port = (WSDLPort) messageInfo.getMap().get("WSDL_MODEL");
if (port != null) {
WSDLBoundOperation w = m.getOperation(port);
if (w != null) {
QName n = w.getName();
if (n != null) {
rvalue = n.getLocalPart();
}
}
}
}
}
return rvalue;
} else {
// make this more efficient by operating on packet
return getOpName((SOAPMessage) messageInfo.getRequestMessage());
}
}
use of com.sun.enterprise.security.jauth.jaspic.provider.PacketMessageInfo in project Payara by payara.
the class ClientSecurityPipe method startSecureConversation.
@Override
public JAXBElement startSecureConversation(Packet packet) throws WSSecureConversationException {
PacketMessageInfo info = new PacketMapMessageInfo(packet, new Packet());
JAXBElement token = null;
try {
// gets the subject from the packet (puts one there if not found)
Subject clientSubject = getClientSubject(packet);
// put MessageInfo in properties map, since MessageInfo
// is not passed to getAuthContext, key indicates function
HashMap<String, Object> map = new HashMap<>();
map.put(PipeConstants.SECURITY_TOKEN, info);
helper.getSessionToken(map, info, clientSubject);
// helper returns token in map of msgInfo, using same key
Object o = info.getMap().get(PipeConstants.SECURITY_TOKEN);
if (o != null && o instanceof JAXBElement) {
token = (JAXBElement) o;
}
} catch (Exception e) {
if (e instanceof WSSecureConversationException) {
throw (WSSecureConversationException) e;
} else {
throw new WSSecureConversationException("Secure Conversation failure: ", e);
}
}
return token;
}
use of com.sun.enterprise.security.jauth.jaspic.provider.PacketMessageInfo in project Payara by payara.
the class ClientSecurityPipe method preDestroy.
@Override
public void preDestroy() {
// create a dummy request packet
try {
Packet request = new Packet();
PacketMessageInfo info = new PacketMapMessageInfo(request, new Packet());
Subject subj = getClientSubject(request);
ClientAuthContext cAC = helper.getClientAuthContext(info, subj);
if (cAC != null && WSIT_CLIENT_AUTH_CONTEXT.equals(cAC.getClass().getName())) {
cAC.cleanSubject(info, subj);
}
} catch (Exception ex) {
// ignore exceptions
}
helper.disable();
}
Aggregations