public void Login(string username, string password, bool save, IJavascriptCallback callback) { Task.Run(async() => { this.connection = new Connection(Server.Live); this.connection.MessageReceived += Connection_MessageReceived; LoginResult message = new LoginResult(); connection.Username = username; connection.Password = password; message.succeeded = true; try { await connection.Connect(); } catch (Exception e) { message.message = e.Message.ToLower().Replace(".", ""); message.succeeded = false; } // Save the user if the login succeeded, otherwise // delete the info from the file. if (message.succeeded && save) { SavedUser.SaveUser(new User() { Username = username, Password = password }); } else { SavedUser.SaveUser(null); } using (callback) { await callback.ExecuteAsync(JsonConvert.SerializeObject(message)); } }); }
/// <summary> /// Saves an <see cref="IUser"/> /// </summary> /// <param name="entity"><see cref="IUser"/> to Save</param> /// <param name="raiseEvents">Optional parameter to raise events. /// Default is <c>True</c> otherwise set to <c>False</c> to not raise events</param> public void Save(IUser entity, bool raiseEvents = true) { if (raiseEvents) { if (SavingUser.IsRaisedEventCancelled(new SaveEventArgs <IUser>(entity), this)) { return; } } var uow = UowProvider.GetUnitOfWork(); using (var repository = RepositoryFactory.CreateUserRepository(uow)) { repository.AddOrUpdate(entity); try { uow.Commit(); } catch (DbException ex) { //Special case, if we are upgrading and an exception occurs, just continue if (IsUpgrading == false) { throw; } Logger.WarnWithException <UserService>("An error occurred attempting to save a user instance during upgrade, normally this warning can be ignored", ex); return; } } if (raiseEvents) { SavedUser.RaiseEvent(new SaveEventArgs <IUser>(entity, false), this); } }
private void Logon(User autoLoginUser) { Trace.WriteInformation("User is attempting to logon with username '{0}' (passwordLength='{1}')", Trace.GetMethodName(), CLASSNAME, autoLoginUser != null ? autoLoginUser.Username : usersComboBox.Text, autoLoginUser != null ? 0 : passwordTextBox.Text.Length); try { ShowBusyBox = true; SavedUser user; if (autoLoginUser == null) { user = (SavedUser)usersComboBox.SelectedItem; if (user == null) { user = new SavedUser(usersComboBox.Text, passwordTextBox.Text); } else { user.Password = passwordTextBox.Text; } } else { user = new SavedUser(autoLoginUser.Username, autoLoginUser.Password); } Connecting = true; try { CurrentUser.SetCurrentUser(user.Username, user.Password, autoLoginUser != null); var usr = CurrentUser.User; if (!CurrentUser.HasPermission(ACICategories.GENERAL, ACIOptions.LOGON)) { throw new SecurityException(Environment.UserDomainName, user.Username, "*****", Translations.LogonForm.NoAuthorisation); } Trace.WriteInformation("User succesfully authenticated by Domain or SQL. (User: {0})", Trace.GetMethodName(), CLASSNAME, CurrentUser.User); if (autoLoginUser == null) { AddHistoryAction(TranslationKey.History_LogonForm_LoggedOn, "User: {0} logged on", CurrentUser.User.Username); } else { AddHistoryAction(TranslationKey.History_Automatic_LogOn, "User: {0} logged on as default user", CurrentUser.User.Username); } new WindowsRegistryHandler().SaveUser(user); } catch (SecurityException ex) { string name = Trace.GetMethodName(); Trace.WriteError("()", name, CLASSNAME, ex); DisplayError(TranslationKey.Error_Logon_LoginFailed, "Login Failed", "Login for the user is failed. Reason:\n\n {0}", ex.Message); AddHistoryAction(TranslationKey.History_LogonForm_LoginFailed, "Login for the user {0} is failed. Reason: {1}", user.Username, ex.Message); passwordTextBox.Clear(); } catch (Exception ex) { string name = Trace.GetMethodName(); Trace.WriteError("()", name, CLASSNAME, ex); DisplayError(TranslationKey.Error_Logon_LoginFailed, "Login Failed", "Login for the user is failed. Reason:\n\n {0}", ex.Message); AddHistoryAction(TranslationKey.History_LogonForm_LoginFailed, "Login for the user {0} is failed. Reason: {1}", user.Username, ex.Message); } } catch (Exception ex) { Trace.WriteError("()", Trace.GetMethodName(), CLASSNAME, ex); DisplayError(Trace.GetMethodName(), TranslationKey.CommonMessage_InternalError, ex); AddHistoryAction(TranslationKey.History_LogonForm_LoginFailed, "Login attempt has failed. Reason: {1}", ex.Message); } finally { ShowBusyBox = false; EnableDisableButtons(); } }
public string GetSavedCredentials() { return(JsonConvert.SerializeObject(SavedUser.GetUser())); }