導入系統用戶

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

用戶對象的結構:

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;
    }

}

對應用戶的服務類,系統團隊和(hé)項目管理(lǐ)的用戶信息就來(lái)源于該服務類提供的用戶對象。

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

接口內(nèi)容:

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 用戶對象(如果有(yǒu)初始化默認的團隊信息,則需要定義User對象的groups屬性)
     */
    User validate(String account, String password);

}

其中validate方法在用戶登錄的時(shí)候調用,這個(gè)時(shí)候不僅要返回用戶對象信息還(hái)需要返回用戶的團隊信息

參考實現:

@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 ""