Udostępnij za pośrednictwem


Web Services Quiz: Issue 10

YAWSQ (Yet Another Web Services Quiz)

Let me describe the following scenario:

  • Web Service T1 contains an operation that returns a string
  • Web Service T2 calls Web Service T1 in the context of its own operation
  • Both Web Services run under IIS using the following security configuration:
    • “Integrated Windows Authentication” enabled
    • “Anonymous Access” disabled

Do you see a problem in the following implementation?

As always, answer and explanation will follow…

T1.asmx

   public class T1

   {

      [WebMethod]

      public string HelloWorld()

      {

         return "Hello World";

      }

   }

T2.asmx

   public class T2

   {

      [WebMethod]

      public string HelloWorld()

      {

         t1.T1 t1 = new OrderSrv.t1.T1();

         return t1.HelloWorld();

      }

   }

Comments

  • Anonymous
    February 23, 2005
    I think T2 will try to call T1 anonymously
  • Anonymous
    February 23, 2005
    You have forgotten to initialize the t1.Credentials member...

    t1.Credentials = System.Net.CredentialCache.DefaultCredentials

    But you have to think about a couple of things... under which account is the service T2 running? And more questions: are both web services running on the same machine or on different machines (if different machines - which account have you used for the T2 service ... is the machine of the T1 service aware of the account?) ... and another one: if the web services running on different machines and the client runs on another, different machine as well - have you configured Kerberos delegation appropriately? Question over question over question ... if I know that all I can give you the correct answer... :-))