diff --git a/src/main/java/run/halo/app/controller/admin/api/InstallController.java b/src/main/java/run/halo/app/controller/admin/api/InstallController.java index d603c4d46..a7226e58e 100644 --- a/src/main/java/run/halo/app/controller/admin/api/InstallController.java +++ b/src/main/java/run/halo/app/controller/admin/api/InstallController.java @@ -16,24 +16,22 @@ import run.halo.app.model.entity.BaseComment; import run.halo.app.model.entity.Category; import run.halo.app.model.entity.Post; import run.halo.app.model.entity.User; -import run.halo.app.model.enums.AttachmentType; import run.halo.app.model.enums.LogType; import run.halo.app.model.enums.PostStatus; import run.halo.app.model.params.*; -import run.halo.app.model.properties.*; +import run.halo.app.model.properties.BlogProperties; +import run.halo.app.model.properties.PrimaryProperties; +import run.halo.app.model.properties.PropertyEnum; import run.halo.app.model.support.BaseResponse; import run.halo.app.model.support.CreateCheck; import run.halo.app.service.*; import run.halo.app.utils.ValidationUtils; -import javax.validation.Valid; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; -import static run.halo.app.model.support.HaloConst.DEFAULT_THEME_ID; - /** * Installation controller. * @@ -196,6 +194,8 @@ public class InstallController { return userService.getCurrentUser().map(user -> { // Update this user installParam.update(user); + // Set password manually + userService.setPassword(user, installParam.getPassword()); // Update user return userService.update(user); }).orElseGet(() -> userService.createBy(installParam)); diff --git a/src/main/java/run/halo/app/service/UserService.java b/src/main/java/run/halo/app/service/UserService.java index db4cb206b..a5deb72e1 100755 --- a/src/main/java/run/halo/app/service/UserService.java +++ b/src/main/java/run/halo/app/service/UserService.java @@ -125,4 +125,12 @@ public interface UserService extends CrudService { * @return true if the given password is match the user password; false otherwise */ boolean passwordMatch(@NonNull User user, @Nullable String plainPassword); + + /** + * Set user password. + * + * @param user user must not be null + * @param plainPassword plain password must not be blank + */ + void setPassword(@NonNull User user, @NonNull String plainPassword); } diff --git a/src/main/java/run/halo/app/service/impl/UserServiceImpl.java b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java index a36cacbf7..2a08e801d 100644 --- a/src/main/java/run/halo/app/service/impl/UserServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/UserServiceImpl.java @@ -252,7 +252,8 @@ public class UserServiceImpl extends AbstractCrudService implemen return updatedUser; } - private void setPassword(@NonNull User user, @NonNull String plainPassword) { + @Override + public void setPassword(@NonNull User user, @NonNull String plainPassword) { Assert.notNull(user, "User must not be null"); Assert.hasText(plainPassword, "Plain password must not be blank");