導入系統用(yòng)戶

URULE支持接口的方式導入系統用(yòng)戶,選擇該類型後系統不支持用(yòng)戶注冊,改名(míng),郵箱調整,密碼調整等操作(zuò)。

用(yòng)戶對象的結構:

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

import java.util.List;

public class User {
    /**
     * 用(yòng)戶賬号
     */
    private String id;
    /**
     * 用(yòng)戶名(míng)
     */
    private String name;
    /**
     * 用(yòng)戶密碼
     */
    private String password;
    /**
     * 用(yòng)戶郵箱
     */
    private String email;
    /**
     * 用(yòng)戶所屬团隊
     */
    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;
    }

}

對應用(yòng)戶的服務(wù)類,系統团隊和項目管理(lǐ)的用(yòng)戶信息就來源于該服務(wù)類提供的用(yòng)戶對象。

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

接口内容:

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

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

/**
 * 用(yòng)戶服務(wù)類接口
 * @author william.jiang
 * @since 2021年4月8日
 */
public interface UserService {
    public static final String BEAN_ID = "urule.userService";

    /**
     * 獲取用(yòng)戶對象
     * @param account 用(yòng)戶賬号
     * @return 用(yòng)戶對象
     */
    User get(String account);

    /**
     * 用(yòng)戶密碼驗證
     * @param account 用(yòng)戶賬号
     * @param password 密碼
     * @return 用(yòng)戶對象(如果有(yǒu)初始化默認的团隊信息,則需要定義User對象的groups屬性)
     */
    User validate(String account, String password);

}

其中(zhōng)validate方法在用(yòng)戶登錄的時候調用(yòng),這個時候不僅要返回用(yòng)戶對象信息還需要返回用(yòng)戶的团隊信息

參考實現:

@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("用(yòng)戶"+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("上海銳道信息技(jì )術有(yǒu)限公(gōng)司");
            group.setCreateUser("admin");
            userGroups.add(group);
            user.setGroups(userGroups);
            return user;
        }
        throw new RuleException("不存在該用(yòng)戶對象");
    }

}

results matching ""

    No results matching ""