实现UserService接口

UserService接口是BaskServer中获取用户信息对应的接口类。 BaskServer利用【SPI】实现用户服务类的扩展。

com.basksoft.core.database.service.user.UserService
package com.basksoft.core.database.service.user;

import java.util.List;
import java.util.Map;

import com.basksoft.core.database.model.Group;
import com.basksoft.core.database.model.Page;
import com.basksoft.core.database.model.TenantUser;
import com.basksoft.core.database.model.User;

/**
 * 用户服务类接口
 */
public interface UserService {

    /**
     * 获取团队用户数据列表
     * 团队用户列表查看使用,不使用BaskServer控制台该方法可以为空
     * @param page 分页对象
     * @param tenantId 团队ID
     * @param parameters 查询条件
     */
    void getTenantUsers(Page<TenantUser> page, String tenantId, Map<String, Object> parameters);

    /**
     * 获取分页用户数据
     * 查看用户列表使用,不使用BaskServer控制台该方法可以为空
     * @param page 分页对象
     * @param parameters 查询条件
     */
    void getUsers(Page<User> page, Map<String, Object> parameters);

    /**
     * 获取用户所属群组对象列表
     * 不使用BaskServer控制台该方法可以返回空
     * @param tenantId 团队ID
     * @param account 用户账号
     * @return 用户所属组对象列表
     */
    List<Group> getGroups(String tenantId, String account);

    /**
     * 获取用户对象,返回的用户需要设置对应的tenants信息,从而确定用户所属的团队集合
     * @param account 用户账号
     * @return 用户对象
     */
    User get(String account);

    /**
     * 获取团队对应的用户对象,包含团队角色信息
     * 不使用BaskServer控制台该方法可以返回空
     * @param account 用户账号
     * @return 团队用户对象
     */
    TenantUser getTenantUser(String tenantId, String account);

    /**
     * 用户密码验证,返回的用户需要设置对应的tenants信息,从而确定用户所属的团队集合
     * SSO集成环境下该接口返回空对象就可以
     * @param account 用户账号
     * @param password 密码
     * @return 用户对象
     */
    User validate(String account, String password);

}

BaskServer中利用【SPI】提供扩展,你可以利用ServiceLoader定义一个UserService的扩展类并配置到系统中。 具体办法:

在项目的resources/META-INF/services下的com.basksoft.core.database.service.user.UserService文件中添加一个扩展类。例如: test.MyUserService

results matching ""

    No results matching ""