IAuthStrategy.java 952 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package org.dromara.web.service;
  2. import org.dromara.common.core.exception.ServiceException;
  3. import org.dromara.common.core.utils.SpringUtils;
  4. import org.dromara.system.domain.SysClient;
  5. import org.dromara.web.domain.vo.LoginVo;
  6. /**
  7. * 授权策略
  8. *
  9. * @author Michelle.Chung
  10. */
  11. public interface IAuthStrategy {
  12. String BASE_NAME = "AuthStrategy";
  13. /**
  14. * 登录
  15. */
  16. static LoginVo login(String body, SysClient client, String grantType) {
  17. // 授权类型和客户端id
  18. String clientId = client.getClientId();
  19. String beanName = grantType + BASE_NAME;
  20. if (!SpringUtils.containsBean(beanName)) {
  21. throw new ServiceException("授权类型不正确!");
  22. }
  23. IAuthStrategy instance = SpringUtils.getBean(beanName);
  24. return instance.login(clientId, body, client);
  25. }
  26. /**
  27. * 登录
  28. */
  29. LoginVo login(String clientId, String body, SysClient client);
  30. }