package org.dromara.web.service;
|
|
|
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.utils.SpringUtils;
|
import org.dromara.system.domain.SysClient;
|
import org.dromara.system.domain.vo.SysClientVo;
|
import org.dromara.web.domain.vo.LoginVo;
|
|
/**
|
* 授权策略
|
*
|
* @author Michelle.Chung
|
*/
|
public interface IAuthStrategy {
|
|
String BASE_NAME = "AuthStrategy";
|
|
/**
|
* 登录
|
*
|
* @param body 登录对象
|
* @param client 授权管理视图对象
|
* @param grantType 授权类型
|
* @return 登录验证信息
|
*/
|
static LoginVo login(String body, SysClientVo client, String grantType) {
|
// 授权类型和客户端id
|
String beanName = grantType + BASE_NAME;
|
if (!SpringUtils.containsBean(beanName)) {
|
throw new ServiceException("授权类型不正确!");
|
}
|
IAuthStrategy instance = SpringUtils.getBean(beanName);
|
return instance.login(body, client);
|
}
|
|
/**
|
* 登录
|
*
|
* @param body 登录对象
|
* @param client 授权管理视图对象
|
* @return 登录验证信息
|
*/
|
LoginVo login(String body, SysClientVo client);
|
|
}
|