实现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