/// <summary> /// Object initilizes using the data in the provided data object. If the data matches a user held by providers then /// restore, update, save etc will work properly. /// </summary> /// <param name="accountData">Account data object</param> /// <param name="profileData">Profile data object</param> public SiteMember(IMemberAccountData accountData, IMemberProfileData profileData) { String logMethodName = ".ctor(IMemberAccountData accountData, IMemberProfileData profileData) - "; _log.Debug(logMethodName + "Begin Method"); Init(); try { _log.Debug(logMethodName + "Loading Member Account"); _memberAccount = new MemberAccount(accountData); } catch (Exception ex) { _log.Error(logMethodName + "Unable to create member account instance from data object provided", ex); throw new WtfException("Unable to create member account instance from data object provided", ex); } //TODO - JHL: Making Profile Member Id = iKey = profileData.Id, but should it be AD Key (_memberAccount.MemberId) try { _log.Debug(logMethodName + "Loading Member Profile"); _memberProfile = new MemberProfile(profileData.Id, profileData, false); } catch (Exception ex) { _log.Error(logMethodName + "Unable to create member profile instance from data object provided", ex); throw new WtfException("Unable to create member profile instance from data object provided", ex); } _log.Debug(logMethodName + "End Method"); }
public virtual IMemberAccountData GetMember(string username) { String logMethodName = ".GetMember(string username) - "; _log.Debug(logMethodName + " - Begin Method"); MembershipUser user = null; IMemberAccountData returnData = null; try { user = GetUser(username); } catch (Exception ex) { throw new SecurityAdapterException("An error has occured in the .NET Membership provider while calling Membership.GetUser(username)", ex); } if (user != null) { returnData = user.ToMemberAccountData(); } _log.Debug(logMethodName + " - End Method"); return(returnData); }
public SiteMember GetMember(object membershipId) { const string logMethodName = ".GetMember(object membershipId)"; _log.Debug(logMethodName + " - Begin Method"); IMemberAccountData accountData = null; IMemberProfileData profileData = null; try { _log.Debug(logMethodName + " - Calling ISecurityAdapter.GetMember(membershipId)"); accountData = _adapter.GetMember(membershipId); } catch (Exception ex) { _log.Error(logMethodName + " - Error retrieving member accound data from Security Adapter " + _adapter.GetType().FullName); throw new WtfException(logMethodName + " - Error retrieving member accound data from Security Adapter" + _adapter.GetType().FullName, ex); } try { _log.Debug(logMethodName + " - Calling IContextDataAdapter.GetMemberProfile(membershipId)"); profileData = _provider.GetMemberProfile(accountData.MemberId); } catch (Exception ex) { _log.Error(logMethodName + " - Error retrieving member accound data from Data Provider" + _provider.GetType().FullName, ex); throw new WtfException(logMethodName + " - Error retrieving member accound data from Data Provider " + _provider.GetType().FullName, ex); } SiteMember siteMember = null; try { siteMember = new SiteMember(accountData, profileData); } catch (Exception ex) { _log.Error(logMethodName + " - Unable to create SiteMember(MemberAccountData, MemberProfileData) instance", ex); throw new WtfException(logMethodName + " - Unable to create SiteMember(MemberAccountData, MemberProfileData) instance", ex); } _log.Debug(logMethodName + " - End Method"); return(siteMember); }
//Changed to public so that we can use it in Test implmementation - mt 10/10/2012 public MemberAccount(IMemberAccountData accountData) { String logMethodName = ".ctor(IMemberAccountData accountData) - "; _log.Debug(logMethodName + "Begin Method"); Init(); _membershipId = accountData.MemberId; _accountData = (MemberAccountData)accountData; _accountDataLoaded = true; _isAnonymous = false; _log.Debug(logMethodName + "End Method"); }
public SiteMember CreateMember(MemberAuthInfo authInfo, MemberProfileData profile, out MemberCreationStatus status, IList <IContextActionValidationRequest <IContextActionValidator> > validationRequests = null) { const string logMethodName = ".CreateMember(MemberAuthInfo, MemberProfileData, out MemberCreationStatus, IList<IContextActionValidationRequest<IContextActionValidator>>)"; const string logEndMessage = logMethodName + " - End Method"; _log.Info(logMethodName + " - Creating new SiteMember"); _log.Debug(logMethodName + " - Begin Method"); SiteMember newMember = null; status = MemberCreationStatus.Error; IMemberAccountData accountData = null; int timesToTry = 2; //SWD-7461 - adding retry logic. for (int i = 0; i < timesToTry; i++) { try { _log.Debug(logMethodName + " - Calling ISecurityAdapter.CreateMember(MemberAuthInfo authInfo, MemberProfileData data, out MemberCreationStatus status)"); status = MemberCreationStatus.Error; accountData = _adapter.CreateMember(authInfo, profile, out status); break; } catch (Exception ex) { _log.Error(logMethodName + " - Error Creating new member account using the ISecurityAdapter.CreateMember will retry again", ex); System.Threading.Thread.Sleep(1000); accountData = null; } } if (status == MemberCreationStatus.Success) { _log.Info(logMethodName + " - MemberAccount created successfully by ISecurityAdapter.CreateMember - Creating MemberProfile"); var memberProfile = new MemberProfileData(profile) { MemberId = accountData.MemberId, LastModified = DateTime.Now, LastModifiedBy = accountData.MemberId }; if (memberProfile.ProviderKeys == null) { memberProfile.ProviderKeys = new Dictionary <string, object>(); } memberProfile.ProviderKeys.Add("ActiveDirectoryKey", accountData.MemberId); // We prob dont need this, code using the ADKey lower in the framework will be ignored try { IMemberProfileData data; _log.Debug(logMethodName + " - Calling IContextDataProvider.CreateMemberProfile(MemberProfileData data, ProviderKeys keys)"); //TODO verify and remove provider key integration at this layer. - May need pin based lookup for pre-registered accounts to call update. data = _provider.CreateMemberProfile(memberProfile, memberProfile.ProviderKeys); memberProfile = new MemberProfileData(data); } catch (Exception ex) { _log.Error(logMethodName + " - Error Creating new member profile using the IContextDataProvider - Rolling back new account", ex); _log.Info(logMethodName + " - Rolling back - STEP 1. DELETE MEMBER ACCOUNT"); _log.Debug(logMethodName + " - Calling ISecurityAdapter.DeleteMember(Object memberId)"); _adapter.DeleteMember(accountData.Username); status = MemberCreationStatus.AdapterError; _log.Debug(logEndMessage); accountData = null; } try { newMember = new SiteMember(accountData, memberProfile); } catch (Exception ex) { _log.Error(logMethodName + " - Error Creating new sitemember instance", ex); _log.Debug(logEndMessage); newMember = null; } } else { // SWD-5616 _log.Warn(logMethodName + " - Member Creation Unsuccessful. Status: " + status); } _log.Debug(logEndMessage); return(newMember); }
public virtual IMemberAccountData CreateMember(MemberAuthInfo authInfo, IMemberProfileData profile, out MemberCreationStatus status) { String logMethodName = ".CreateMember(MemberAuthInfo authInfo, IMemberProfileData profile, out MemberCreationStatus status) - "; _log.Debug(logMethodName + " - Begin Method"); status = MemberCreationStatus.Error; IMemberAccountData data = null; MembershipCreateStatus createStatus = MembershipCreateStatus.Success; try { // Membership.CreateUser Method - throws exception MembershipCreateUserException if user is // not created: // http://msdn.microsoft.com/en-us/library/t8yy6w3h.aspx data = new MembershipUserWrapper(Membership.CreateUser( authInfo.Username, authInfo.Password, authInfo.Email)); } catch (MembershipCreateUserException e) { createStatus = e.StatusCode; _log.Debug(logMethodName + " - User " + authInfo.Username + " was not created - status=" + createStatus); } catch (Exception ex) { SaltADMembershipProvider.ADConnector.LogActiveDirectoryMembershipProviderProperties(); throw new SecurityAdapterException("An error has occured in the .NET Membership provider while calling Membership.CreateUser(username, password, username) for username " + authInfo.Username, ex); } switch (createStatus) { case MembershipCreateStatus.Success: status = MemberCreationStatus.Success; //FormsAuthentication.SetAuthCookie(authInfo.Username, true); //FormsAuthentication.Authenticate(authInfo.Username, authInfo.Password); break; case MembershipCreateStatus.DuplicateEmail: status = MemberCreationStatus.DuplicateEmail; break; case MembershipCreateStatus.DuplicateProviderUserKey: status = MemberCreationStatus.DuplicateUserName; break; case MembershipCreateStatus.DuplicateUserName: status = MemberCreationStatus.DuplicateUserName; break; case MembershipCreateStatus.InvalidAnswer: status = MemberCreationStatus.InvalidAnswer; break; case MembershipCreateStatus.InvalidEmail: status = MemberCreationStatus.InvalidEmail; break; case MembershipCreateStatus.InvalidPassword: status = MemberCreationStatus.InvalidPassword; break; case MembershipCreateStatus.InvalidProviderUserKey: status = MemberCreationStatus.InvalidUserName; break; case MembershipCreateStatus.InvalidQuestion: status = MemberCreationStatus.InvalidQuestion; break; case MembershipCreateStatus.InvalidUserName: status = MemberCreationStatus.InvalidUserName; break; case MembershipCreateStatus.ProviderError: status = MemberCreationStatus.AdapterError; break; case MembershipCreateStatus.UserRejected: status = MemberCreationStatus.UserRejected; break; default: status = MemberCreationStatus.Error; break; } _log.Debug(logMethodName + " - End Method"); return(data); }