Look at the code in private void GetWebParts(), especially these lines:
// retrieve the web parts from the database:
List lMWP = GetMyWebParts();
In my case, "GetMyWebParts()" retrieves a list from a Web Service, and because I use Kerberos I can determine in the Web Service which data I need to return, based on the user that connects to the WS.
Life would be a lot easier if we could take a look at the source code.