Browse Source

修复用户角色分配接口 bug

reghao 2 năm trước cách đây
mục cha
commit
e7f83beb3f

+ 2 - 1
manager/src/main/java/cn/reghao/devops/manager/rbac/model/po/Menu.java

@@ -19,7 +19,8 @@ import java.util.*;
 @Getter
 /*@EqualsAndHashCode(callSuper = false, exclude = {"roles"})
 @ToString(exclude = {"roles"})*/
-@Table(name = "sys_menu")
+@Table
+//@Table(name = "sys_menu")
 @Entity
 public class Menu extends BaseEntity {
     // Menu 类型

+ 4 - 2
manager/src/main/java/cn/reghao/devops/manager/rbac/model/po/Role.java

@@ -19,7 +19,8 @@ import java.util.Set;
 @Data
 @EqualsAndHashCode(callSuper = false, exclude = {"description", "menus"})
 @ToString(exclude = {"menus"})
-@Table(name = "sys_role")
+@Table
+//@Table(name = "sys_role")
 @Entity
 public class Role extends BaseEntity {
     @Pattern(regexp = "^\\w+$", message = "只能是数字、英文字符和下划线")
@@ -32,8 +33,9 @@ public class Role extends BaseEntity {
     private String description;
     // Role 端维护 Role 和 Menu 之间的关系
     @ManyToMany
-    @JoinTable(name = "sys_role_menu",
+    @JoinTable(name = "role_menu",
             joinColumns = @JoinColumn(name = "role_id"),
             inverseJoinColumns = @JoinColumn(name = "menu_id"))
+    //@JoinTable(name = "sys_role_menu", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "menu_id"))
     private Set<Menu> menus;
 }

+ 5 - 2
manager/src/main/java/cn/reghao/devops/manager/rbac/model/po/User.java

@@ -18,9 +18,11 @@ import java.util.stream.Collectors;
  * @author reghao
  * @date 2019/03/14 19:12:48
  */
+@NoArgsConstructor
 @Getter
 @Setter
-@Table(name = "sys_user")
+@Table
+//@Table(name = "sys_user")
 @Entity
 public class User extends BaseEntity implements UserDetails {
     // 用户名和密码
@@ -35,7 +37,8 @@ public class User extends BaseEntity implements UserDetails {
     private String salt;
     // roles 和 authorities 是同一个东东, 只是 authorities 用于 Spring Security
     @ElementCollection(fetch = FetchType.EAGER)
-    @CollectionTable(name = "sys_user_role")
+    @CollectionTable(name = "user_role")
+    //@CollectionTable(name = "sys_user_role")
     private Set<String> role;
     @Transient
     private Set<UserAuthority> authorities;

+ 8 - 2
manager/src/main/java/cn/reghao/devops/manager/rbac/service/UserServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.reghao.devops.manager.rbac.service;
 
 import cn.reghao.devops.manager.rbac.db.repository.UserRepository;
+import cn.reghao.devops.manager.rbac.model.po.Role;
 import cn.reghao.jutil.jdk.security.Cryptor;
 import cn.reghao.jutil.jdk.security.Md5Cryptor;
 import cn.reghao.jutil.jdk.security.RandomString;
@@ -102,10 +103,15 @@ public class UserServiceImpl implements UserService {
             return;
         }
 
-        Set<UserAuthority> authorities = userRole.getRoles().stream()
+        /*Set<UserAuthority> authorities = userRole.getRoles().stream()
                 .map(role -> new UserAuthority(role.getTitle()))
                 .collect(Collectors.toSet());
-        userEntity.setAuthorities(authorities);
+        userEntity.setAuthorities(authorities);*/
+
+        Set<String> roles = userRole.getRoles().stream()
+                .map(Role::getTitle)
+                .collect(Collectors.toSet());
+        userEntity.setRole(roles);
         userRepository.save(userEntity);
     }