protected void Page_Load(object sender, EventArgs e) { if ((ParamRefUserQueryString != "" && ParamRefIdQueryString != "") && (ParamRefUserQueryString != null && ParamRefIdQueryString != null)) { presenter = LogOnPresenter.Create((IAccountToAccess)this, 0); Int32 n = presenter.ValidateUserAccess(ParamRefUserQueryString, ParamRefIdQueryString); switch (n) { case 1: //pass CffLoginAccount account = presenter.GetSpecialAccessAccount(ParamRefUserQueryString, ParamRefIdQueryString); MembershipUser membershipUser = Membership.GetUser(new Guid(ParamRefIdQueryString)); if (Membership.ValidateUser(account.Username, account.Password)) { FormsAuthentication.SetAuthCookie(account.Username, false); string viewID = Request.QueryString["ViewID"]; if (string.IsNullOrEmpty(viewID)) { viewID = SaferTrader.Core.Common.StringEnum.GenerateUniqueKey(12); } Cff.SaferTrader.Core.Repositories.ICffUserRepository repository = Cff.SaferTrader.Core.Repositories.RepositoryFactory.CreateCffUserRepository(); ICffUser loggedOnUser = repository.LoadCffUser(new Guid(ParamRefIdQueryString)); SessionWrapper.Instance.GetSession(viewID); //Generate a new instance of this session SessionWrapper.Instance.GetSession(viewID).IsStartsWithChecked = true; SessionWrapper.Instance.GetSession(viewID).MultiClientSelected = false; SessionWrapper.Instance.GetSession(viewID).IsMultipleAccounts = true; SessionWrapper.Instance.GetSession(viewID).UserIdentity = GetSessionWrapperIdentity(loggedOnUser.UserType.Id); SessionWrapper.Instance.GetSession(viewID).CurrentUserID = loggedOnUser.UserId.ToString(); SessionWrapper.Instance.GetSession(viewID).IsDeselectingCustomer = false; SessionWrapper.Instance.GetSession(viewID).ClientFromQueryString = Cff.SaferTrader.Core.Repositories.RepositoryFactory.CreateClientRepository().GetCffClientByClientId(Convert.ToInt32(loggedOnUser.ClientId.ToString())); string returnUrl = Request.QueryString["ReturnUrl"]; bool rememberMe = Request.QueryString["RememberMe"] != null && Request.QueryString["RememberMe"].Equals(true.ToString()); string url = string.Format("{0}?RememberMe={1}&ViewID={2}&Criteria=0&ClientID={3}&User={4}&ReturnUrl=", "LogOnRedirection.aspx", rememberMe, viewID, loggedOnUser.ClientId, loggedOnUser.EmployeeId); //LogOnRedirection.aspx Response.Redirect(url); } else { Response.Redirect("LogOn.aspx"); } break; case 0: // blocked break; default: // failed Response.Redirect("LogOn.aspx"); break; } } else { Response.Redirect("LogOn.aspx"); } }
public CffLoginAccount GetSpecialAccessAccount(String owner, Guid accessId) { ArgumentChecker.ThrowIfNull(owner, "owner"); ArgumentChecker.ThrowIfGuidEmpty(accessId, "accessId"); CffLoginAccount account = null; using (SqlConnection connection = CreateConnection()) { using (SqlDataReader dataReader = SqlHelper.ExecuteReader(connection, CommandType.StoredProcedure, "GetSpecialMapAccount", CreateSpecialAccountParameter(owner, accessId))) { CleverReader cleverReader = new CleverReader(dataReader); while (cleverReader.Read()) { account = new CffLoginAccount(cleverReader.ToString("USERNAME"), cleverReader.ToString("PASSWORD")); } } } return(account); }