use of games.strategy.engine.lobby.server.userDB.DBUser in project triplea by triplea-game.
the class UserControllerIntegrationTest method testGet.
@Test
public void testGet() {
final DBUser user = createUserWithMd5CryptHash();
assertEquals(user, controller.getUserByName(user.getName()));
}
use of games.strategy.engine.lobby.server.userDB.DBUser in project triplea by triplea-game.
the class UserManager method updateUser.
@Override
public String updateUser(final String userName, final String emailAddress, final String hashedPassword) {
final INode remote = MessageContext.getSender();
if (!userName.equals(remote.getName())) {
logger.severe("Tried to update user permission, but not correct user, userName:" + userName + " node:" + remote);
return "Sorry, but I can't let you do that";
}
final DBUser user = new DBUser(new DBUser.UserName(userName), new DBUser.UserEmail(emailAddress));
if (!user.isValid()) {
return user.getValidationErrorMessage();
}
final HashedPassword password = new HashedPassword(hashedPassword);
try {
new UserController().updateUser(user, password.isHashedWithSalt() ? password : new HashedPassword(BCrypt.hashpw(hashedPassword, BCrypt.gensalt())));
} catch (final IllegalStateException e) {
return e.getMessage();
}
return null;
}
use of games.strategy.engine.lobby.server.userDB.DBUser in project triplea by triplea-game.
the class LobbyMenu method updateAccountDetails.
private void updateAccountDetails() {
final IUserManager manager = (IUserManager) lobbyFrame.getLobbyClient().getRemoteMessenger().getRemote(IUserManager.USER_MANAGER);
final DBUser user = manager.getUserInfo(lobbyFrame.getLobbyClient().getMessenger().getLocalNode().getName());
if (user == null) {
JOptionPane.showMessageDialog(this, "No user info found", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
final CreateUpdateAccountPanel panel = CreateUpdateAccountPanel.newUpdatePanel(user, LobbyLoginPreferences.load());
final CreateUpdateAccountPanel.ReturnValue returnValue = panel.show(lobbyFrame);
if (returnValue == CreateUpdateAccountPanel.ReturnValue.CANCEL) {
return;
}
final String error = Strings.emptyToNull("" + Strings.nullToEmpty(manager.updateUser(panel.getUserName(), panel.getEmail(), Md5Crypt.hashPassword(panel.getPassword(), Md5Crypt.newSalt()))) + Strings.nullToEmpty(manager.updateUser(panel.getUserName(), panel.getEmail(), RsaAuthenticator.hashPasswordWithSalt(panel.getPassword()))));
if (error != null) {
JOptionPane.showMessageDialog(this, error, "Error", JOptionPane.ERROR_MESSAGE);
return;
}
panel.getLobbyLoginPreferences().save();
}
use of games.strategy.engine.lobby.server.userDB.DBUser in project triplea by triplea-game.
the class ModeratorControllerIntegrationTest method setUp.
@BeforeEach
public void setUp() throws UnknownHostException {
moderatorController = new ModeratorController(serverMessenger, null);
final String adminName = Util.createUniqueTimeStamp();
final DBUser dbUser = new DBUser(new DBUser.UserName(adminName), new DBUser.UserEmail("n@n.n"), DBUser.Role.ADMIN);
final UserController userController = new UserController();
userController.createUser(dbUser, new HashedPassword(BCrypt.hashpw(adminName, BCrypt.gensalt())));
userController.makeAdmin(dbUser);
adminNode = new Node(adminName, InetAddress.getLocalHost(), 0);
when(serverMessenger.getPlayerMac(adminName)).thenReturn(newHashedMacAddress());
}
use of games.strategy.engine.lobby.server.userDB.DBUser in project triplea by triplea-game.
the class UserControllerIntegrationTest method testUpdate.
@Test
public void testUpdate() throws Exception {
final DBUser user = createUserWithMd5CryptHash();
assertTrue(controller.doesUserExist(user.getName()));
final String password2 = md5Crypt("foo");
final String email2 = "foo@foo.foo";
controller.updateUser(new DBUser(new DBUser.UserName(user.getName()), new DBUser.UserEmail(email2)), new HashedPassword(bcrypt(obfuscate(Util.createUniqueTimeStamp()))));
controller.updateUser(new DBUser(new DBUser.UserName(user.getName()), new DBUser.UserEmail(email2)), new HashedPassword(password2));
try (Connection con = connectionSupplier.get()) {
final String sql = " select * from ta_users where username = '" + user.getName() + "'";
final ResultSet rs = con.createStatement().executeQuery(sql);
assertTrue(rs.next());
assertEquals(email2, rs.getString("email"));
assertEquals(password2, rs.getString("password"));
assertNull(rs.getString("bcrypt_password"));
}
}
Aggregations