לגבי שאלה 1
תצור בClass, WS שיורש מSoapHeader למשל כך:
public class Authenticator: SoapHeader
בClass הזה תגדיר איזה משתנים שאתה רוצה לאבטחה, למשל:
public string UserName ; public string Password ;
בClass של הWS תצור מופע של Class האבטחה:
public Authenticator sHeader ;
מעל כל WebMethod שאתה רוצה שתהיה מאובטחת תוסיף:
[SoapHeader("sHeader",Direction=SoapHeaderDirection.InOut| SoapHeaderDirection.Fault)]
ועכשיו לפני כל פעולה אתה יכול לבדוק את הUser ואת הPassword :
if (sHeader.UserName == "blabla" && sHeader.Password == "Password")
הפעולות האלה כולן נעשות בWS. עכשיו באפליקציה שלך בכל מופע שאתה מגדיר לWS אתה צריך לאתחל את אובייקט האבטחה:
WebServiceClass.Authenticator Auth = new WebServiceClass.Authenticator(); Auth.UserName = "blabla"; Auth.Password = "Password"; WebServiceClass.AuthenticatorValue = Auth;
עכשיו בכל גישה שאתה ניגש במופע הזה של הWS לפונקציות אתה ניגש גישה מאובטחת. בהצלחה!