# 权限服务集成

# 示例工程

系统应用集成示例工程打开 (opens new window)

# 本内容你将获得

这里的资源引擎即组织、权限、账号、岗位等基础管理

  • 前端默认集成资源引擎服务
  • 自定义资源引擎服务场景
  • 第三方权限服务集成方式

# 默认集成基于核心包

此服务默认依赖于工程包alinesno-cloud-common-web-api-starter中,包名consumer,此只为与前端服务默认集成, 这里主要集成账号权限和公共配置的接口

配置引擎后台地址:

alinesno:
  client:
    authorty:
      url: http://localhost:${server.port}

集成的权限默认接口列表:

/**
 * 获取应用登陆主题信息
 * @return
 */
public EnterpriseThemeEntity getLoginTheme(String springApplication) ;

/**
 * 通过用户信息获取企业信息,比如标题,主题色等
 * @return
 */
public EnterpriseEntity getEnterpriseByUserId(String userId , String springApplication) ;

/**
 * 通过代码类型查询代码
 *
 * @return
 */
public List<ManagerCodeEntity> codeListByType(String codeType)  ;

/**
 * 通过代码类型查询代码
 *
 * @return
 */
public List<ManagerCodeEntity> codeListByType(String codeType,String applicationId) ;

/**
 * 查询账户
 *
 * @param ids
 * @return
 */
public List<ManagerAccountEntity> findAccountEntityByIds(List<String> ids) ;
/**
 * 查询租户
 *
 * @param ids
 * @return
 */
public List<ManagerTenantEntity> findTenantEntityByIds(List<String> ids) ;

/**
 * 通过ids查询应用
 *
 * @param ids
 * @return
 */
public List<ManagerApplicationEntity> findApplicationEntityByIds(List<String> ids) ;

/**
 * 代码查询
 *
 * @param object
 * @param object2
 * @return
 */
public ManagerCodeEntity codeByType(Object codeType, Object codeValue) ;

/**
 * 通过用户实体查询用户信息
 *
 * @param springApplication
 * @return
 */
public ManagerApplicationEntity findEntityByApplicationCode(String springApplication) ;

/**
 * 查询用户菜单
 *
 * @param resourceParent
 * @param applicationId
 * @param userId
 * @return
 */
public ManagerResourceEntity findMenusByApplicationAndAccount(String resourceParent, String applicationId, String userId)  ;

/**
 * 查询应用部门
 *
 * @param id
 * @return
 */
public List<DeptDto> findOrg(String applicationId, String parentDeptId) ;

/**
 * 通过id查询用户
 *
 * @param id
 * @return
 */
public ManagerAccountEntity findById(String id) ;

/**
 * 通过用户名查询用户
 *
 * @param loginName
 * @return
 */
public ManagerAccountEntity findByLoginName(String loginName) ;

/**
 * 部门代码查询
 *
 * @param ids
 * @return
 */
public List<ManagerDepartmentEntity> findDepartmentByIds(List<String> ids) ;


/**
 * 更新用户信息
 * @param user
 * @return
 */
public AjaxResult updateManagerAccount(ManagerAccountDto user) ;

/**
 * 更新用户密码
 * @param pwdDto
 * @return
 */
public AjaxResult updatePwd(UpdatePasswordDto pwdDto) ;

/**
 * 更新用户头像
 */
public AjaxResult updateAvator(String avatorId, String accountId) ;

集成的公共配置默认接口列表:

/**
 * 通过id查询配置信息
 * @param configId
 * @return
 */
public ManagerSettingsEntity getById(String configId) ;

/**
 * 通过key获取配置
 * @param configKey
 * @return
 */
public ManagerSettingsEntity getConfigByKey(String configKey) ;

/**
 * 获取值
 * @param configKey
 * @return
 */
public String getConfigValueByKey(String configKey) ;

/**
 * 更新值状态
 * @param configKey
 * @return
 */
public AjaxResult updateConfigValueByKey(ManagerSettingsDto dto) ;

在其它工程的实现和引用的方式,当前此只针对于前后端分离的时候使用,而非前后端分离的,可不使用

添加EnableApi或者EnableSSO注解,使引用生效,两个同时引用,SSO 配置会覆盖 API 配置,如下:

//@EnableSSO
@EnableApi
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}

工程通过 spring 依赖注入引用,如下:

// 引入权限配置
@Autowired
private AuthorityPlatformClient authorityConfigClient ;

// 引入系统参数配置
@Autowired
private AuthorityConfigClient authorityConfigClient;

# 自定义资源引擎服务引用

此针对的是第三方权限服务的集成,这里主要切换引擎地址为第三方,同时针对于接口做对应的适配调整即可

alinesno:
  client:
    authorty:
      url: # 自定义的资源引擎地址

主要适配的接口列表:

待补充


# 其它