Thanks - That worked great.  One more question.  Is there a way to
specifiy that only certain methods within a service need to be
authenticated?

For instance given this wsdd:

<service name="RS3" provider="java:RPC">
  <parameter name="methodName" value="*"/>
  <parameter name="scope" value="Application"/>
  <parameter name="className" value="com.vpharm.soap.RS3"/>

  <parameter name="allowedRoles" value="rs3"/>
  <requestFlow name="checks">
      <handler
type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
      <handler
type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/>
    </requestFlow>
 </service>

Is there a way to specify that the methods getName should use security
but getEmail should not?

Trevor

On Fri, 31 Jan 2003, Keeney, Thomas wrote:

> Trevor,
>
> Here's how you set it up:
>
> 1) In web.xml, add the following init-param for the AxisServlet.  This
> enables the provider by adding it as a MessageContext property:
>         <init-param>
>             <param-name>use-servlet-security</param-name>
>             <param-value>1</param-value>
>         </init-param>
>
> 2) In web.xml set authentication method to BASIC.  (I wanted to use the
> ServletSecurityProvider in my web service, but this is where I had the
> problem.  I had to use FORM authentication, uggh.. If anyone knows how I can
> set up Axis Security with FORM authentication, please let me know.)
>
> 3) In your WSDD (see below), add the Authentication and Authorization
> Handlers and set up the roles that are authorized for your web service.
> Note that the SimpleAuthenticationHandler looks for a SecurityProvider in
> the MessageContext (which you added in Step 1).  If it doesn't find it, it
> fails back to the SimpleSecurityProvider that authenticates against the
> users.lst file.
>   <service name="urn:xmltoday-delayed-quotes" provider="java:RPC">
>     <parameter name="className" value="samples.stock.StockQuoteService"/>
>     <parameter name="wsdlServicePort" value="GetQuote"/>
>     <parameter name="allowedMethods" value="*"/>
>     <parameter name="allowedRoles" value="admin"/>
>     <requestFlow name="checks">
>       <handler
> type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
>       <handler
> type="java:org.apache.axis.handlers.SimpleAuthorizationHandler"/>
>     </requestFlow>
>   </service>
>
> 4) Pass the username/password in your client code.
>
> If you have any more problems, use tcpmon.  It helped me figure out alot of
> things in Axis.
>
> Regards,
>
> Tom
>
>
>
>
>
> -----Original Message-----
> From: Trevor Daniel Kramer [mailto:[EMAIL PROTECTED]]
> Sent: Friday, January 31, 2003 10:52 AM
> To: [EMAIL PROTECTED]
> Subject: ServletSecurityProvider
>
>
> The javadoc says
>
> A ServletSecurityProvider, combined with the ServletAuthenticatedUser
> class, allows the standard servlet security mechanisms (isUserInRole(),
> etc.) to integrate with Axis' access control mechanism. By utilizing this
> class (which the AxisServlet can be configured to do automatically),
> authentication and role information will come from your servlet engine.
>
> But I can't find any instructions on how to set this up.  I would like to
> use  a jdbc realm setup in tomcat to authenticate users to some soap
> services.
>
> Thanks,
>
> Trevor
>

Reply via email to