You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by lucky <un...@gmail.com> on 2008/02/18 11:59:36 UTC
User Token details
Hi,
I am trying to create a handler and read user name/password there to
authenticate the Web-Service client. I have used Rampart as explained in
articles and able to pass username/password as plain text and authenticate
user. Now I want to capture same details in a handler so that it can be
invoked for all Web-Services. I am referring to article -
http://wso2.org/library/169 and trying to get this as below -
Vector results = null;
if ((results = (Vector) msgCtx
.getProperty(WSHandlerConstants.RECV_RESULTS)) == null) {
throw new RuntimeException("No security results!!");
} else {
for (int i = 0; i < results.size(); i++) {
//Get hold of the WSHandlerResult instance
WSHandlerResult rResult = (WSHandlerResult) results.get(i);
Vector wsSecEngineResults = rResult.getResults();
for (int j = 0; j < wsSecEngineResults.size(); j++) {
//Get hold of the WSSecurityEngineResult instance
WSSecurityEngineResult wser = (WSSecurityEngineResult)
wsSecEngineResults.get(j);
}
}
}
How ever I am not able to locate (WSHandlerConstants.RECV_RESULTS). Can any
one please help quickly and tell m whch jar to include for this. I am using
Axis2 1.3.
Many Thanks for your time and help
Re: User Token details
Posted by lucky <un...@gmail.com>.
Hi Thanks for the prompt reply.
I wanted to know the jar for these classes. However it was a silly mistake
from my side. I have included all jars from Axis2 1.3 distribution but some
how missed wss4j-1.5.3.jar.
Thanks
On Feb 18, 2008 4:36 PM, Sanjay Vivek <Sa...@newcastle.ac.uk> wrote:
> I was working on this a few weeks back and the complete code listing is
> given below. Cheers.
>
> Sanjay
>
> import org.apache.axis2.AxisFault;
> import org.apache.axis2.context.MessageContext;
> import org.apache.axis2.context.OperationContext;
> import org.apache.axis2.wsdl.WSDLConstants;
> import org.apache.ws.security.WSConstants;
> import org.apache.ws.security.WSSecurityEngineResult;
> import org.apache.ws.security.WSUsernameTokenPrincipal;
> import org.apache.ws.security.handler.WSHandlerConstants;
> import org.apache.ws.security.handler.WSHandlerResult;
>
> import java.util.Vector;
>
> public class PolicyEchoService {
>
> public String echo() {
>
> String user=null;
> String password=null;
>
> MessageContext msgCtx =
> MessageContext.getCurrentMessageContext();
> Vector results = null;
> if ((results = (Vector) msgCtx
> .getProperty(WSHandlerConstants.RECV_RESULTS)) == null)
> {
> System.out.println("No security results!!");
> throw new RuntimeException("No security results!!");
> } else {
> System.out.println("Number of results: " + results.size());
> for (int i = 0; i < results.size(); i++) {
> WSHandlerResult rResult = (WSHandlerResult)
> results.get(i);
> Vector wsSecEngineResults = rResult.getResults();
>
> for (int j = 0; j < wsSecEngineResults.size(); j++) {
> WSSecurityEngineResult wser =
> (WSSecurityEngineResult) wsSecEngineResults.get(j);
> if (wser.getAction() == WSConstants.UT
> && wser.getPrincipal() != null) {
>
> //Extract the principal
> WSUsernameTokenPrincipal principal =
> (WSUsernameTokenPrincipal)wser.getPrincipal();
>
> //Get user/pass
> user = principal.getName();
> password = principal.getPassword();
>
> }
> }
> }
>
> return ("The user was: " + user);
> }
>
> }
>
> }
>
>
>
>
> ________________________________
>
> From: lucky [mailto:unluckyzz@gmail.com]
> Sent: 18 February 2008 11:00
> To: axis-user@ws.apache.org
> Subject: User Token details
>
>
> Hi,
> I am trying to create a handler and read user name/password
> there to authenticate the Web-Service client. I have used Rampart as
> explained in articles and able to pass username/password as plain text
> and authenticate user. Now I want to capture same details in a handler
> so that it can be invoked for all Web-Services. I am referring to
> article - http://wso2.org/library/169 and trying to get this as below -
>
> Vector results = null;
> if ((results = (Vector) msgCtx
> .getProperty(WSHandlerConstants.RECV_RESULTS))
> == null) {
> throw new RuntimeException("No security results!!");
> } else {
> for (int i = 0; i < results.size(); i++) {
>
> //Get hold of the WSHandlerResult instance
> WSHandlerResult rResult = (WSHandlerResult)
> results.get(i);
> Vector wsSecEngineResults =
> rResult.getResults();
>
> for (int j = 0; j < wsSecEngineResults.size();
> j++) {
>
> //Get hold of the WSSecurityEngineResult
> instance
> WSSecurityEngineResult wser =
> (WSSecurityEngineResult)
> wsSecEngineResults.get(j);
>
> }
> }
> }
> How ever I am not able to locate
> (WSHandlerConstants.RECV_RESULTS). Can any one please help quickly and
> tell m whch jar to include for this. I am using Axis2 1.3.
>
> Many Thanks for your time and help
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
RE: User Token details
Posted by Sanjay Vivek <Sa...@newcastle.ac.uk>.
I was working on this a few weeks back and the complete code listing is
given below. Cheers.
Sanjay
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.ws.security.WSConstants;
import org.apache.ws.security.WSSecurityEngineResult;
import org.apache.ws.security.WSUsernameTokenPrincipal;
import org.apache.ws.security.handler.WSHandlerConstants;
import org.apache.ws.security.handler.WSHandlerResult;
import java.util.Vector;
public class PolicyEchoService {
public String echo() {
String user=null;
String password=null;
MessageContext msgCtx =
MessageContext.getCurrentMessageContext();
Vector results = null;
if ((results = (Vector) msgCtx
.getProperty(WSHandlerConstants.RECV_RESULTS)) == null)
{
System.out.println("No security results!!");
throw new RuntimeException("No security results!!");
} else {
System.out.println("Number of results: " + results.size());
for (int i = 0; i < results.size(); i++) {
WSHandlerResult rResult = (WSHandlerResult)
results.get(i);
Vector wsSecEngineResults = rResult.getResults();
for (int j = 0; j < wsSecEngineResults.size(); j++) {
WSSecurityEngineResult wser =
(WSSecurityEngineResult) wsSecEngineResults.get(j);
if (wser.getAction() == WSConstants.UT
&& wser.getPrincipal() != null) {
//Extract the principal
WSUsernameTokenPrincipal principal =
(WSUsernameTokenPrincipal)wser.getPrincipal();
//Get user/pass
user = principal.getName();
password = principal.getPassword();
}
}
}
return ("The user was: " + user);
}
}
}
________________________________
From: lucky [mailto:unluckyzz@gmail.com]
Sent: 18 February 2008 11:00
To: axis-user@ws.apache.org
Subject: User Token details
Hi,
I am trying to create a handler and read user name/password
there to authenticate the Web-Service client. I have used Rampart as
explained in articles and able to pass username/password as plain text
and authenticate user. Now I want to capture same details in a handler
so that it can be invoked for all Web-Services. I am referring to
article - http://wso2.org/library/169 and trying to get this as below -
Vector results = null;
if ((results = (Vector) msgCtx
.getProperty(WSHandlerConstants.RECV_RESULTS))
== null) {
throw new RuntimeException("No security results!!");
} else {
for (int i = 0; i < results.size(); i++) {
//Get hold of the WSHandlerResult instance
WSHandlerResult rResult = (WSHandlerResult)
results.get(i);
Vector wsSecEngineResults =
rResult.getResults();
for (int j = 0; j < wsSecEngineResults.size();
j++) {
//Get hold of the WSSecurityEngineResult
instance
WSSecurityEngineResult wser =
(WSSecurityEngineResult)
wsSecEngineResults.get(j);
}
}
}
How ever I am not able to locate
(WSHandlerConstants.RECV_RESULTS). Can any one please help quickly and
tell m whch jar to include for this. I am using Axis2 1.3.
Many Thanks for your time and help
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org