From 181d518df7f59b5432e16b4e462f5f8bdafcac05 Mon Sep 17 00:00:00 2001 From: "shengzhaoli.shengz" Date: Mon, 16 Oct 2023 12:13:48 +0800 Subject: [PATCH] user, jsp -> html --- .../shared/security/SOSUserDetails.java | 2 +- .../monkeyk/sos/domain/user/Privilege.java | 21 ++- .../com/monkeyk/sos/service/dto/UserDto.java | 53 ++++++++ .../monkeyk/sos/service/dto/UserFormDto.java | 4 + .../sos/service/impl/UserServiceImpl.java | 10 +- src/main/resources/templates/user_form.html | 126 ++++++++++++++++++ 6 files changed, 205 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/templates/user_form.html diff --git a/src/main/java/com/monkeyk/sos/domain/shared/security/SOSUserDetails.java b/src/main/java/com/monkeyk/sos/domain/shared/security/SOSUserDetails.java index 26a0771..014d364 100644 --- a/src/main/java/com/monkeyk/sos/domain/shared/security/SOSUserDetails.java +++ b/src/main/java/com/monkeyk/sos/domain/shared/security/SOSUserDetails.java @@ -81,7 +81,7 @@ public class SOSUserDetails implements UserDetails { @Override public boolean isEnabled() { - return true; + return user.enabled(); } public User user() { diff --git a/src/main/java/com/monkeyk/sos/domain/user/Privilege.java b/src/main/java/com/monkeyk/sos/domain/user/Privilege.java index 3068fbc..0c5933a 100644 --- a/src/main/java/com/monkeyk/sos/domain/user/Privilege.java +++ b/src/main/java/com/monkeyk/sos/domain/user/Privilege.java @@ -4,10 +4,21 @@ package com.monkeyk.sos.domain.user; * @author Shengzhao Li */ public enum Privilege { + /** + * Default privilege + */ + USER, - USER, //Default privilege - - ADMIN, //admin - UNITY, //资源权限:UNITY - MOBILE //资源权限:MOBILE + /** + * //admin + */ + ADMIN, + /** + * //资源权限:UNITY + */ + UNITY, + /** + * //资源权限:MOBILE + */ + MOBILE } \ No newline at end of file diff --git a/src/main/java/com/monkeyk/sos/service/dto/UserDto.java b/src/main/java/com/monkeyk/sos/service/dto/UserDto.java index 7c22ee7..14b2447 100644 --- a/src/main/java/com/monkeyk/sos/service/dto/UserDto.java +++ b/src/main/java/com/monkeyk/sos/service/dto/UserDto.java @@ -41,6 +41,30 @@ public class UserDto implements Serializable { private List privileges = new ArrayList<>(); + /** + * true 启用 + * false 禁用 + * + * @since 3.0.0 + */ + private boolean enabled = true; + + /** + * 别名 + * + * @see org.springframework.security.oauth2.core.oidc.OidcScopes#PROFILE + * @since 3.0.0 + */ + private String nickname; + + /** + * 地址 + * + * @see org.springframework.security.oauth2.core.oidc.OidcScopes#ADDRESS + * @since 3.0.0 + */ + private String address; + public UserDto() { } @@ -54,6 +78,35 @@ public class UserDto implements Serializable { this.privileges = user.privileges(); this.createTime = user.createTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME); + + this.enabled = user.enabled(); + this.address = user.address(); + this.nickname = user.nickname(); + } + + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; } public String getCreateTime() { diff --git a/src/main/java/com/monkeyk/sos/service/dto/UserFormDto.java b/src/main/java/com/monkeyk/sos/service/dto/UserFormDto.java index b8c568f..67c34a9 100644 --- a/src/main/java/com/monkeyk/sos/service/dto/UserFormDto.java +++ b/src/main/java/com/monkeyk/sos/service/dto/UserFormDto.java @@ -41,6 +41,10 @@ public class UserFormDto extends UserDto { .email(getEmail()) .password(PasswordHandler.encode(getPassword())); user.privileges().addAll(getPrivileges()); + //v3.0.0 added + user.address(getAddress()) + .nickname(getNickname()) + .enabled(isEnabled()); return user; } } diff --git a/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java b/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java index b6338e4..1293448 100644 --- a/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java +++ b/src/main/java/com/monkeyk/sos/service/impl/UserServiceImpl.java @@ -39,7 +39,7 @@ public class UserServiceImpl implements UserService { private UserRepository userRepository; @Override - @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) +// @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepository.findByUsername(username); if (user == null || user.archived()) { @@ -50,7 +50,7 @@ public class UserServiceImpl implements UserService { } @Override - @Transactional(readOnly = true) +// @Transactional(readOnly = true) public UserJsonDto loadCurrentUserJsonDto() { final Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); final Object principal = authentication.getPrincipal(); @@ -65,7 +65,7 @@ public class UserServiceImpl implements UserService { } @Override - @Transactional(readOnly = true) +// @Transactional(readOnly = true) public UserOverviewDto loadUserOverviewDto(UserOverviewDto overviewDto) { List users = userRepository.findUsersByUsername(overviewDto.getUsername()); overviewDto.setUserDtos(UserDto.toDtos(users)); @@ -73,14 +73,14 @@ public class UserServiceImpl implements UserService { } @Override - @Transactional(readOnly = true) +// @Transactional(readOnly = true) public boolean isExistedUsername(String username) { final User user = userRepository.findByUsername(username); return user != null; } @Override - @Transactional(propagation = Propagation.REQUIRED) +// @Transactional(propagation = Propagation.REQUIRED) public String saveUser(UserFormDto formDto) { User user = formDto.newUser(); userRepository.saveUser(user); diff --git a/src/main/resources/templates/user_form.html b/src/main/resources/templates/user_form.html new file mode 100644 index 0000000..de9eabc --- /dev/null +++ b/src/main/resources/templates/user_form.html @@ -0,0 +1,126 @@ + + + + + + + + + Add User - Spring Security&OAuth2.1 + + + + +Home + +

Add User

+ +
+
+ + +
+ + +

Username, unique.

+
+
+
+ + +
+ + +

Password, unique.

+
+
+
+ + +
+ + + +

Select Privilege(s).

+
+
+
+ + +
+ + + +

Enable/Disable the user

+
+
+ + +
+ + +
+ + +

User phone, optional.

+
+
+
+ + +
+ + +

User email, optional.

+
+
+
+ + +
+ + +

User nickname, optional.

+
+
+
+ + +
+ + +

User address, optional.

+
+
+ +
+
+
+ +
+
+ + +
+
+
+ + Cancel +
+
+
+ + +
+ + \ No newline at end of file