导入系统用户

URULE支持接口的方式导入系统用户,选择该类型后系统不支持用户注册,改名,邮箱调整,密码调整等操作。

用户对象的结构:

package com.bstek.urule.console.database.model;

import java.util.List;

public class User {
    /**
     * 用户账号
     */
    private String id;
    /**
     * 用户名
     */
    private String name;
    /**
     * 用户密码
     */
    private String password;
    /**
     * 用户邮箱
     */
    private String email;
    /**
     * 用户所属团队
     */
    private List<Group> groups;

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public List<Group> getGroups() {
        return groups;
    }
    public void setGroups(List<Group> groups) {
        this.groups = groups;
    }

}

对应用户的服务类,系统团队和项目管理的用户信息就来源于该服务类提供的用户对象。

com.bstek.urule.console.database.service.user.UserService

接口内容:

package com.bstek.urule.console.database.service.user;

import com.bstek.urule.console.database.model.User;

/**
 * 用户服务类接口
 * @author william.jiang
 * @since 2021年4月8日
 */
public interface UserService {
    public static final String BEAN_ID = "urule.userService";

    /**
     * 获取用户对象
     * @param account 用户账号
     * @return 用户对象
     */
    User get(String account);

    /**
     * 用户密码验证
     * @param account 用户账号
     * @param password 密码
     * @return 用户对象(如果有初始化默认的团队信息,则需要定义User对象的groups属性)
     */
    User validate(String account, String password);

}

其中validate方法在用户登录的时候调用,这个时候不仅要返回用户对象信息还需要返回用户的团队信息

参考实现:

@Service(UserService.BEAN_ID)
public class UserServiceImpl implements UserService {

    @Override
    public User get(String account) {
        if ("test".equals(account)) return null;
        User user = new User();
        user.setId(account);
        user.setEmail(account+"@bstek.com");
        user.setEnable(true);
        user.setName("用户"+account);
        return user;
    }

    @Override
    public User validate(String account, String password) {
        if ("123456".equals(password)) {
            User user = get(account);
            List<Group> userGroups = new ArrayList<Group>();
            Group group = new Group();
            group.setId("bstekteam");
            group.setName("上海锐道信息技术有限公司");
            group.setCreateUser("admin");
            userGroups.add(group);
            user.setGroups(userGroups);
            return user;
        }
        throw new RuleException("不存在该用户对象");
    }

}

results matching ""

    No results matching ""