一、前言
本文是采用apollo配置中心 1.5.0 进行介绍
配置中心进行容器化部署,从官方下载的apollo-portal.jar包,解压出来,发现spring.profiles.active=github,auth
上面的意思,就是采用 auth 进行鉴权,采用该鉴权,就是走apollo默认用户权限关系,采用前后端不分离的session方式进行鉴权。
如果从github下载apollo配置中心源码,spring.profiles.active的参数是没有默认值的
spring:
application:
name: apollo-portal
profiles:
active: ${apollo_profile}
1.1 从官网节选,可以看出
实现方式一:使用Apollo提供的Spring Security简单认证
可能很多公司并没有统一的登录认证系统,如果自己实现一套会比较麻烦。Apollo针对这种情况,从0.9.0开始提供了利用Spring Security实现的Http Basic简单认证版本
...
实现方式二: 接入公司的统一登录认证系统
这种实现方式的前提是公司已经有统一的登录认证系统,最常见的比如SSO、LDAP等。接入时,实现以下SPI。其中UserService和UserInfoHolder是必须要实现的.
从以上的说法看出,配置中心还是特别灵活的。但是有时候,有权限还是比较麻烦的,要是我们想取消权限,该怎么做。
很简单,就是删掉 auth 即可。例如 spring.profiles.active=github
二、放弃鉴权的方式
虽然说少去登录界面,但是依然有账号这个概念,apollo配置中心默认的的账号为 apollo。
既登录进去,即是使用 apollo这个账号
2.1 修改apollo这个账号,默认使用自己的账号
想要修改apollo这个账号,默认使用自己的账号,只能通过修改源码进行配置。
源码的位置在 com.ctrip.framework.apollo.portal.spi.defaultimpl
通过修改
@Override
public UserInfo getUser() {
UserInfo userInfo = new UserInfo();
userInfo.setUserId("已经存在portal中的账号");
return userInfo;
}
DefaultUserService.java 也要进行对应的修改
修改完毕,重新打包部署,既可以使用 spring.profiles.active=github
2.2 该修改方式的意义
现在很多公司都是走微服务那一套,前后端分离,如果想自定义apollo的前端界面,这个是最方便的方式
步骤1
把 apollo-portal 引入注册中心依赖,通过微服务调用
步骤2
把 apollo-portal 界面的接口捋清楚,自己编写前端界面,调用即可。