private void LogonSuccessful() { try { //Set the status for the Main form to know what's going on status = LogOnStatus.LogOn; PosApplication.Instance.BusinessLogic.LogonLogoffSystem.ConcludeSuccessfulLogOn(); lblUser.Text = string.Empty; operatorId = string.Empty; password = string.Empty; operatorName = string.Empty; operatorNameOnReceipt = string.Empty; dlgResult = DialogResult.OK; this.Close(); } catch (Exception ex) { using (frmError errorForm = new LSRetailPosis.POSProcesses.frmError(ex.Message, ex)) { POSFormsManager.ShowPOSForm(errorForm); } } }
private void LogOnChangeStatus(LogOnStatus pStatus) { if (this.InvokeRequired) { LogOnChangeStatusCallBack a = new LogOnChangeStatusCallBack(LogOnChangeStatus); this.Invoke(a, new object[] { pStatus }); } else { Status = pStatus; } }
static void Main(string[] args) { Application app = new Application(); LogOnStatus status = app.LogOn("TRAINING", "Eugeni.Tseitlin", "sp8hxj4v3a"); if (status != LogOnStatus.LoggedOn) { throw new UnauthorizedAccessException(); } CustomIndexer.ClassificationInitializer.InitializeSpecifications(app); }
private void btnOKChange_Click(object sender, EventArgs e) { Status = LogOnStatus.CHANGING_PASSWORD; if (txtNewPassword.Text != txtNewPasswordConfirm.Text || txtNewPIN.Text != txtNewPINConfirm.Text) { MessageBox.Show("Passwords and PINs must match", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Status = LogOnStatus.CHANGE_PASSWORD; return; } Values.gDatos.context_info = MasterPassword.MasterBytes; Values.gDatos.Connect(); // Call the SP for Password/PIN change var _SP = new SP(Values.gDatos, "pLogOnUser"); _SP.AddControlParameter("User", txtUser); _SP.AddParameterValue("Password", txtPassword.Text); _SP.AddParameterValue("Origin", "LOGON_CS"); _SP.AddParameterValue("NewPassword", txtNewPassword.Text); _SP.AddParameterValue("NewPIN", txtNewPIN.Text); try { _SP.Execute(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //txtPassword.Text = ""; Status = LogOnStatus.CHANGE_PASSWORD; return; } Values.gDatos.Close(); if (_SP.LastMsg.Substring(0, 2) != "OK") { CTWin.MsgError(_SP.LastMsg); return; } MessageBox.Show("Password and PIN changed OK", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information); PanelName.Text = Values.FullName; Values.User = txtUser.Text; Values.Password = txtPassword.Text = txtNewPassword.Text; LogOnChangeStatus(previousStatus); txtUser.Text = Values.User; txtPassword.Text = Values.Password; btnOk.PerformClick(); if (Status == LogOnStatus.INIT) { txtUser.Text = Values.User; txtPassword.Text = Values.Password; btnOk.PerformClick(); } }
private static void LogIn(Application app) { string connection = ConfigurationSettings.AppSettings["AdamRegistrationName"]; string user = ConfigurationSettings.AppSettings["AdamAdminUserName"]; string pass = ConfigurationSettings.AppSettings["AdamAdminPassword"]; LogOnStatus status = app.LogOn(connection, user, pass); if (status == LogOnStatus.LoggedOn) { Console.WriteLine("LogOn complite"); } else { Console.WriteLine(status); } }
public void LoginStatusChange(UserIdentity user, LogOnStatus newLoginStatus) { switch (newLoginStatus) { case LogOnStatus.LogOn: _list.Add(user); break; case LogOnStatus.LogOff: //int index = _list. FindIndex(value => value.Name == user.Name); //if (index >= 0) // _list.RemoveAt(index); _list.Remove(user); break; default: throw new ApplicationException("Ненене Дэвид Блейн ненене"); } }
private void exitToolStripMenuItem_Click(object sender, EventArgs e) { if (logonMode == LogonModes.Numpad) { try { status = LogOnStatus.Exit; if (UserHasAccessRights(PosisOperations.ApplicationExit)) { //status = LogonStatus.Exit; dlgResult = DialogResult.OK; Close(); } else { status = LogOnStatus.None; } } catch (Exception) { status = LogOnStatus.None; } } else { if (UserHasAccessRights(PosisOperations.ApplicationExit)) { status = LogOnStatus.Exit; dlgResult = DialogResult.OK; Close(); } else { status = LogOnStatus.None; } } }
/// <summary> /// Initiate logOn flow and returns the status. /// </summary> /// <returns>Log on status.</returns> public LogOnStatus LogOnOperator() { LogOnStatus logonStatus = LogOnStatus.None; // Automation Logon (logon using command line user/password -SU<operatorId> -SP<password>). if (!string.IsNullOrWhiteSpace(ApplicationSettings.StartUser) && !string.IsNullOrWhiteSpace(ApplicationSettings.StartPassword)) { if (Login.LogOnUser(true, ApplicationSettings.StartUser, string.Empty, string.Empty, ApplicationSettings.StartPassword)) { logonStatus = LogOnStatus.LogOn; } } // If not auto logged on, then display the UI. if (logonStatus != LogOnStatus.LogOn) { // Invoke Trigger foreach (var trigger in Application.Triggers.ApplicationTriggers) { trigger.LoginWindowVisible(); } LogOnConfirmation logOnConfirmation = new LogOnConfirmation(); InteractionRequestedEventArgs request = new InteractionRequestedEventArgs(logOnConfirmation, () => { if (logOnConfirmation.Confirmed) { logonStatus = (LogOnStatus)logOnConfirmation.LogOnStatus; } } ); Application.Services.Interaction.InteractionRequest(request); } return(logonStatus); }
private void shutdownToolStripMenuItem_Click(object sender, EventArgs e) { status = LogOnStatus.Shutdown; if (logonMode == LogonModes.Numpad) { try { if (UserHasAccessRights(PosisOperations.ShutDownComputer)) { //status = LogonStatus.Shutdown; dlgResult = DialogResult.OK; Close(); } else { status = LogOnStatus.None; } } catch (Exception) { status = LogOnStatus.None; } } else { if (UserHasAccessRights(PosisOperations.ShutDownComputer)) { status = LogOnStatus.Shutdown; dlgResult = DialogResult.OK; Close(); } else { status = LogOnStatus.None; } } }
private void LogonGridUser() { try { //if nothing is selected display an error message if (grvUserData.SelectedRowsCount == 0) { PosApplication.Instance.Services.Dialog.ShowMessage(31, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //Get the selected user id DataRow row = grvUserData.GetDataRow(grvUserData.GetSelectedRows()[0]); operatorId = row["STAFFID"].ToString(); operatorName = row["NAME"].ToString(); LogonData logonData = new LogonData(ApplicationSettings.Database.LocalConnection, ApplicationSettings.Database.DATAAREAID); EF.PosPermission posPermission = logonData.GetUserPosPermission(ApplicationSettings.Terminal.StoreId, operatorId); if (!string.IsNullOrWhiteSpace(operatorId)) { //This is to assign the operator culture ONCE such that it is available throughout all translation attempts LSRetailPosis.DataAccess.Language lang = new Language(ApplicationSettings.Database.LocalConnection, ApplicationSettings.Database.DATAAREAID); // Set operator culture if found, otherwise default to terminal culture string opCultNam = lang.GetOperatorCultureName(ApplicationSettings.Terminal.StoreId, operatorId); if (!string.IsNullOrEmpty(opCultNam)) { ApplicationSettings.Terminal.OperatorCultureName = opCultNam; } } if (posPermission == null) { // No permisison or position using (frmMessage message = new frmMessage(1004)) { POSFormsManager.ShowPOSForm(message); } return; } //display the numpad to get the password using (LSRetailPosis.POSProcesses.frmInputNumpad frmNumPad = new LSRetailPosis.POSProcesses.frmInputNumpad()) { frmNumPad.EntryTypes = NumpadEntryTypes.Password; frmNumPad.PromptText = ApplicationLocalizer.Language.Translate(2379); //"Password"; bool logonWorked = false; while (logonWorked == false) { //if button OK / Enter was hit POSFormsManager.ShowPOSForm(frmNumPad); if (frmNumPad.DialogResult == DialogResult.OK) { password = frmNumPad.InputText; if (logonWorked = Login.LogOnUser(true, operatorId, operatorName, operatorName, password)) { //Set privilege ApplicationSettings.Terminal.TerminalOperator.MaxLineReturnAmount = PosApplication.Instance.BusinessLogic.Utility.ToDecimal(posPermission.MaxLineReturnAmount); ApplicationSettings.Terminal.TerminalOperator.MaxTotalReturnAmount = PosApplication.Instance.BusinessLogic.Utility.ToDecimal(posPermission.MaxTotalReturnAmount); ApplicationSettings.Terminal.TerminalOperator.UserIsManager = PosApplication.Instance.BusinessLogic.Utility.ToBool(posPermission.ManagerPrivileges); ApplicationSettings.Terminal.TerminalOperator.UserIsInventoryUser = PosApplication.Instance.BusinessLogic.Utility.ToBool(posPermission.UseHandheld); LogonSuccessful(); } } else { logonWorked = true; status = LogOnStatus.None; } frmNumPad.TryAgain(); } } if (status == LogOnStatus.LogOn) { dlgResult = DialogResult.OK; Close(); } } catch (Exception x) { // The user hasn't entered all the information needed. LSRetailPosis.ApplicationExceptionHandler.HandleException(this.ToString(), x); throw new PosisException(34, x); } }
protected override void OnLoad(EventArgs e) { if (!this.DesignMode) { this.HideHelpIcon(); this.Bounds = new Rectangle( ApplicationSettings.MainWindowLeft, ApplicationSettings.MainWindowTop, ApplicationSettings.MainWindowWidth, ApplicationSettings.MainWindowHeight); this.Text = ApplicationSettings.ApplicationTitle; LoadBackgroundImage(); ActivateTraining(ApplicationSettings.Terminal.TrainingMode); status = LogOnStatus.None; if (Functions.ShowStaffListAtLogon) { logonMode = LogonModes.UserList; } else { logonMode = LogonModes.Numpad; } if (logonMode == LogonModes.UserList) { GetUserInformation(); grdUsers.Visible = true; tableLayoutPanel2.SetColumnSpan(grdUsers, 3); lblUser.Visible = false; } else { grdUsers.Visible = false; lblUser.Visible = true; this.numPad.SuspendLayout(); numPad.Visible = true; numPad.EntryType = NumpadEntryTypes.Barcode; this.numPad.ResumeLayout(); PosApplication.Instance.Services.Peripherals.LogOnDevice.DataReceived += new LogOnDeviceEventHandler(OnLogOnDevice_DataReceived); PosApplication.Instance.Services.Peripherals.LogOnDevice.BeginVerifyCapture(); } // Set visibility of training mode trainingToolStripMenuItem.Visible = toolStripSeparator4.Visible = !ApplicationSettings.Terminal.HideTrainingMode; TranslateLabels(); ClearVariables(); UpdateTime(); } base.OnLoad(e); }
private async void btnOk_Click(object sender, EventArgs e) { //#if DEBUG // noXML = true; //#endif if (noXML) { XMLSystemState = XDocument.Load(LOCAL_PATH + "systems.xml"); } else { await Values.getSystemVersions(ShareServerList[Values.COD3]); } previousStatus = Status; if (Status == LogOnStatus.INIT) { LogOnChangeStatus(LogOnStatus.CONNECTING); SqlParameter _flags; SqlParameter _fullName; var _SP = new SP(Values.gDatos, "pLogOnUser"); _SP.AddControlParameter("User", txtUser); _SP.AddControlParameter("Password", txtPassword); _SP.AddParameterValue("Origin", "LOGON_CS"); _SP.AssignOutputParameterContainer("flags", out _flags); _SP.AssignOutputParameterContainer("FullName", out _fullName); try { _SP.Execute(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPassword.Text = ""; Status = LogOnStatus.INIT; return; } //txtUser.Text = _SP.ReturnValues()["User"].ToString(); Values.userFlags = _flags.Value.ToString().Split('|').Where(x => x != "").ToList(); Values.FullName = _fullName.Value.ToString(); PanelName.Text = Values.FullName; Values.DBServerList.ServerList.ForEach(x => { x.User = txtUser.Text; x.Password = txtPassword.Text; }); var _SPQuote = new SP(Values.gDatos, "pGetQOTD"); SqlParameter _quote; _SPQuote.AssignOutputParameterContainer("quote", out _quote); try { _SPQuote.Execute(); PanelQOTD.Text = _quote.Value.ToString(); } catch { PanelQOTD.Text = ""; } if (_SP.LastMsg == "OK/CHANGE") { this.Status = LogOnStatus.CHANGE_PASSWORD; CTWin.MsgError("Your password has expired, please change it."); return; } Values.User = txtUser.Text; Values.Password = _SP.ReturnValues()["@Password"].ToString();// txtPassword.Text; FillApps(); DrawListApps(); if (_update) { await CheckUpdatableApps(); } else { Values.AppList.ToList().ForEach(x => x.SetStatus(AppBotStatus.UPDATED)); } Values.AppList.ToList().ForEach(x => x.ShowStatus()); //while (Values.AppList.CheckingApps.Count != 0) //{ // System.Threading.Thread.Sleep(500); //} /* * if (Values.AppList.PendingApps.Count != 0) * { * //var maxThreads = Values.AppList.PendingApps.Count > Values.MaxNumThreads ? Values.MaxNumThreads : Values.AppList.PendingApps.Count; * var maxThreads = Values.UpdateList.PendingCount > Values.MaxNumThreads ? Values.MaxNumThreads : Values.UpdateList.PendingCount; * for (var i = 0; i < maxThreads; i++) * { * Values.ActiveThreads++; * var _thread = new cUpdaterThread(Values.debugBox, Values.ActiveThreads); * this.UpdatingThreads.Add(_thread); * new Thread(async () => await _thread.Process()).Start(); * await Task.Delay(200); * } * } */ var UpdaterTask = new Updater(Values.UpdateList, Values.MaxNumThreads); UpdaterTask.Callback += UpdaterTask_Callback; UpdaterTask.ErrorCallback += UpdaterTask_ErrorCallback; await UpdaterTask.Start(); LogOnChangeStatus(LogOnStatus.CONNECTED); } else { LogOnChangeStatus(LogOnStatus.INIT); } }
public JsonResult Index(LoginViewModel model, string requestUrl) { try { if (ModelState.IsValid) { using (TestEntities db = new TestEntities()) { LogOnStatus status = LogOnStatus.Failure; var currentDate = DateTime.Now; var user = db.Users.Where(x => x.Account == model.Account).SingleOrDefault(); if (user != null) { if (user.PasswordHash == model.Password) { //成功的流程 寫入登入時間 status = LogOnStatus.Successful; user.DateLastLogin = currentDate; db.Entry <Users>(user).State = EntityState.Modified; db.SaveChanges(); } else { status = LogOnStatus.FailPassword; } } else { status = LogOnStatus.NotExist; } switch (status) { case LogOnStatus.Successful: //note: AuthenticationTicketUserData userInfo = new AuthenticationTicketUserData { UserId = user.Account, Name = user.Name }; //當都沒有權限 則會用GUEST List <string> roles = new List <string>(); if (user.Roles.Count == 0) { roles.Add("Guest"); } else { roles = user.Roles.Select(x => x.RoleID).ToList(); } userInfo.Roles = roles; IFormsAuthentication _formAuthentication = new DefaultFormsAuthentication(); //IFormsAuthentication _formAuthentication = DependencyResolver.Current.GetService<IFormsAuthentication>(); _formAuthentication.SetAuthCookie(this.HttpContext, new FormsAuthenticationTicket(1, userInfo.UserId, DateTime.Now, DateTime.Now.Add(FormsAuthentication.Timeout), false, userInfo.ToString())); var cookies = HttpContext.Request.Cookies.AllKeys; if (cookies.Contains(SiteConst.RememberCookie)) { string rem_cookie = HttpContext.Request.Cookies[SiteConst.RememberCookie].Values["account"]; //記住帳號實做 if (model.RememberMe) { if (string.IsNullOrEmpty(rem_cookie)) { HttpCookie cookie = new HttpCookie(SiteConst.RememberCookie); cookie["account"] = model.Account; cookie.Expires = DateTime.Now.AddYears(100); Response.Cookies.Add(cookie); } else { if (rem_cookie != model.Account) { this.Request.Cookies[SiteConst.RememberCookie].Expires = DateTime.Now.AddHours(-1); Response.Cookies.Add(Request.Cookies[SiteConst.RememberCookie]); HttpCookie cookie = new HttpCookie(SiteConst.RememberCookie); cookie["account"] = model.Account; cookie.Expires = DateTime.Now.AddYears(100); Response.Cookies.Add(cookie); } } } else { if (!string.IsNullOrEmpty(rem_cookie)) { this.Request.Cookies[SiteConst.RememberCookie].Expires = DateTime.Now.AddHours(-1); Response.Cookies.Add(Request.Cookies[SiteConst.RememberCookie]); } } } else { HttpCookie cookie = new HttpCookie(SiteConst.RememberCookie); cookie["account"] = model.Account; cookie.Expires = DateTime.Now.AddYears(100); Response.Cookies.Add(cookie); } var returnUrlBack = requestUrl; if (!Url.IsLocalUrl(requestUrl)) { returnUrlBack = Url.Action("Index", "Home"); } return(Json(new { success = true, returnUrl = returnUrlBack })); case LogOnStatus.Disabled: ModelState.AddModelError("", "該帳號已被停權"); break; case LogOnStatus.Failure: ModelState.AddModelError("", "帳號或密碼錯誤"); break; case LogOnStatus.UnActived: ModelState.AddModelError("", "帳號尚未啟用"); break; default: ModelState.AddModelError("", "帳號或密碼錯誤"); break; } } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); _logger.Info("Index - Error{0}", ex.Message); } finally { _logger.Info("Index - end"); } // If we got this far, something failed return(Json(new { errors = ModelState.SelectMany(x => x.Value.Errors.Select(error => error.ErrorMessage)) })); }
public ActionResult LogOn(LogOnUserModel user) { ViewBag.EnterpriseName = this.service.SysConfig.GetSysConfig(Model.Enums.SysConfigEnum.EnterpriseName); ViewBag.EnableLogOnCaptcha = IsEnableLogOnCaptcha(); if (ViewBag.EnableLogOnCaptcha) { if (Session["CaptchaCode"] == null || user.CaptchaCode == null || Session["CaptchaCode"].ToString() != user.CaptchaCode.ToLower()) { ModelState.AddModelError("CaptchaCode", Lang.Account_LogOn_CaptchaCodeIncorrect); Session["CaptchaCode"] = null; return(View()); } } ModelState.Remove("CaptchaCode"); if (ModelState.IsValid) { LogOnStatus status = UserLogOn(user); switch (status) { case LogOnStatus.Success: HttpCookie cookie = new HttpCookie("UserName", HttpUtility.UrlEncode(user.UserName)); cookie.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(cookie); this.service.SysLog.Log(Model.Enums.SysLogType.LoginSuccess, user.UserName, null, null); //if (_LicenseInfo.DaysLeftInTrial <= 30) //zjy //{ // TempData["LicenseInfo"] = // string.Format(Lang.License_Expire_CountDown // , _LicenseInfo.Edition // , _LicenseInfo.DaysLeftInTrial); //} return(RedirectToAction("Index", "Home")); case LogOnStatus.UserNotFound: ModelState.AddModelError("UserName", Lang.Account_LogOn_UserNotFound); break; case LogOnStatus.UserLocked: ModelState.AddModelError("UserName", Lang.Account_LogOn_UserIsLocked); break; case LogOnStatus.PasswordError: this.service.SysLog.Log(Model.Enums.SysLogType.LoginPasswordError, user.UserName, user, null); ModelState.AddModelError("Password", Lang.Account_LogOn_PasswordIncorrect); break; case LogOnStatus.IPNotAllowed: this.service.SysLog.Log(Model.Enums.SysLogType.LoginNotAllowedIP, user.UserName, null, null); ModelState.AddModelError("form", Lang.Account_LogOn_IPNotAllowed + Request.UserHostAddress); break; default: ModelState.AddModelError("", Lang.Account_LogOn_Failed); break; } } return(View()); }