A Secure Web Service Example

Listing 3. This example Web service uses the AuthorizedRoles custom attribute to enforce role-based security.

public class TestService 
   : System.Web.Services.WebService
{
   [WebMethod]
   [AuthorizedRoles("?")]   
   public string Anonymous(string name)
   {
      return "Hello " + name;
   }

   [WebMethod]
   [AuthorizedRoles("*")]   
   public string All(string name)
   {
      return "Hello " + name;
   }

   [WebMethod]
   [AuthorizedRoles("")]   
   public string Noone(string name)
   {
      return "Hello " + name;
   }

   [WebMethod]
   [AuthorizedRoles("Guest,Manager")]   
   public string GuestAndManagers(string name)
   {
      return "Hello " + name;
   }

   [WebMethod]
   [AuthorizedRoles("Manager")]   
   public string OnlyManagers(string name)
   {
      return "Hello " + name;
   }
}