Başlamak için, SSL kullanmalı ve kullanmayan tüm istekleri reddetmelisiniz. Bu, verileri İnternet üzerinden iletilmek üzere şifreler.
SOAP kullanıyorsanız, hizmetinizde kullanıcı adı/parola alan bir özel başlık tanımlayabilirsiniz. Daha sonra, her bir kamu yönteminde ilk satır için, bir veritabanına karşı kullanıcı adı ve şifreyi doğrulayın. Başarılı olursa, HttpContext.Current.User öğesini uygun şekilde ayarlayın ve hizmetiniz yerleşik Asp.NET altyapısıyla güzelce bağlanacaktır.
ADDED: Aşağıda, kimlik doğrulama için kullanıcı adı/parola içeren bir SoapHeader örneği verilmiştir. Eğer wsdl aracı çalıştırırsanız
// define the header
public class AuthenticationHeader : SoapHeader
{
public String UserName { get; set; }
public String Password { get; set; }
}
// your service
public class PublicWebService : WebService
{
// defines an instance of the header as part of the service
public AuthenticationHeader Authentication;
private void Authenticate()
{
// validate the username/password against a database
// set the HttpContext.Current.User if successful.
// Maybe throw a SoapException() if authentication fails
}
// Notice the SoapHeader("Authentication") attribute...
// This tells ASP.Net to look for the incoming header for this method...
[WebMethod]
[SoapHeader("Authentication")]
public void PublicMethod1()
{
Authenticate();
// your code goes here
}
// Expose another method with the same authentication mechanism
[WebMethod]
[SoapHeader("Authentication")]
public void PublicMethod2()
{
Authenticate();
// your code goes here
}
}
Şimdi, oluşturulan proxy sınıfı tanımlanmış kimlik doğrulama başlığını içerecektir:
PublicWebService s = new PublicWebService();
s.Authentication = new AuthenticationHeader();
s.Authentication.UserName = "xxxxxxxx";
s.Authentication.Password = "yyyyyyyy";
s.PublicMethod1();
s.PublicMethod2();
web hizmeti SOAP ne tür? WCF? Taşımacılık güvenliğine veya kimlik doğrulamasına ihtiyacınız var mı? –
@Dirk - Ben onun bir SOAPY olduğuna inanıyorum. Sanırım sadece ulaşım güvenliğine ihtiyacım var, hizmetlerin hepsi herkese açık. – 5arx