internal User getVisitorData(string userSitecode, string DUZ, string appPwd)
{
Site site = mySession.SiteTable.getSite(userSitecode);
AbstractCredentials credentials = getAdministrativeCredentials(site);
credentials.AuthenticationToken = userSitecode + '_' + credentials.LocalUid;
credentials.SecurityPhrase = appPwd;
string context = MdwsConstants.MDWS_CONTEXT;
if (mySession.DefaultVisitMethod == MdwsConstants.NON_BSE_CREDENTIALS)
{
context = MdwsConstants.CPRS_CONTEXT;
}
// Here we do NOT set mySession.PrimaryPermission. This context is being set
// solely for the Admin user to get the true user's credentials. mySession.PrimaryPermission
// is for the true user.
AbstractPermission permission = new MenuOption(context);
permission.IsPrimary = true;
User u = doTheVisit(userSitecode, credentials, permission);
UserApi userApi = new UserApi();
User trueUser = userApi.getUser(myCxn, DUZ);
myCxn.disconnect();
return trueUser;
}