授权管理器安装
授权分为两个部分,本教程需要安装授权管理器(客户端),用于对其他程序进行授权管理。授权管理器服务端用于生成序列号,供授权管理器的客户端同步到本地使用。服务端地址:https://auth.sexbao.net
授权管理器有两个功能,一个功能是对微服务体系的系统进行授权管理,授权安装框架名称来的,比如hardmall的框架名称是同一个, 所以只需要一个授权信息,所有的体系内系统均可使用,不用一套系统申请一个授权。另外一个功能是存储和管理所有 系统申请的ID主键,包括数据的所有权,系统来源等等,方便用户查看系统数据的作者和产生日期,方便回溯数据来源。
授权管理器,目前有三个版本,下载最新版本使用即可。
docker pull weijuncug/authserver:1.0.5
有如下环境变量:
版本编号 | 说明 | 备注 |
---|---|---|
AUTH_USERNAME | 企业名称 | 联网授权企业名称(可不填) |
AUTH_PASSWORD | 授权序列号 | 联网授权序列号(可不填) |
MICRO_REGISTRY | 注册中间件类型 | consul |
MICRO_REGISTRY_ADDRESS | 注册地址 | consul |
MICRO_TRANSPORT | 传输协议 | http |
部署命令:(序列号参照下一章 #联网授权)
docker run \
--network effect-manager \
--network-alias authserver \
--name authserver \
-e MICRO_REGISTRY=consul \
-e MICRO_REGISTRY_ADDRESS=consul:8500 \
-p 12981:12981 \
-d weijuncug/authserver:1.0.5
授权在线申请
需要预先进行申请,申请网址:晒宝科技授权服务中心
首先使用邮箱进行注册,注册完毕后,增加企业名称,然后为增加的企业名称申请对应的授权。(授权系统选择 HardMall)
申请完毕后,在授权列表里面就可以看到序列号。如果序列号是未使用状态,那么就可以用该序列进行联网授权。
如何使用授权服务中心申请系统序列号
许多小伙伴来咨询如何申请序列号用于测试,所以这两天快马加鞭开发了一套授权服务中心,用于小伙伴们申请序列号。大体上分为以下五步骤:
一、注册
没有账号,首先使用邮箱进行注册, 注册的时候需要收取验证码,目前邮件采用个人邮箱发送,如果一天超过50封,就发不出去了,所以每天只有50名限额。
二、登录
输入邮箱和密码进行登录。
三、添加企业
登录后,需要添加企业名称,一个用户可以添加多个企业,企业名称可以是项目名称,也可以是事业部名称,方便管理。
四、授权申请
五、授权列表
以上五步就申请了所需的名称和序列号,接下来把【授权公司】和【序列号】应用到授权管理器中。
应用秘钥(页面方式)
应用秘钥通过页面方式和命令行方式执行一次即可,不用多次执行。
首先登录授权管理器客户端,地址:
http://server-ip:12981
如下图所示,系统启动后自动注册了默认用户,用户名 admin
,密码 laymer110
,如果是安全网络,直接登录即可,如果是非安全网络,建议重新注册用户,将秘钥同步到新注册的安全账户下面。
登陆成功后,显示已经授权的所有系统,这些系统授权是从授权服务端同步来的。其中框架名称simple指的就是hardmall程序,使用了simple框架。
点击上图中的【系统授权】,打开同步秘钥的页面,填写在服务端申请的秘钥,点击同步,完成后回到列表页面,即可显示刚才同步的系统授权。
应用秘钥(命令行方式)
进入docker管理器
docker exec -it authserver bash
查看用户,如果没有可以新建默认用户admin/laymer110
./AppAuthServer users
新建用户(如果是非安全网络环境,请勿使用默认密码)
./AppAuthServer useradd --name=admin --passwd=laymer110
通过环境变量的方式设置企业名称和序列号:
export AUTH_USERNAME=<授权公司>
export AUTH_PASSWORD=<序列号>
联网授权
拿到授权后就可以同步授权秘钥了。方法如下:
# 进入docker环境
docker exec -it authserver bash
# 查看是否存在用户,如果没有请新建用户:(hardmall主程序也是,如果不是安全网络环境,可以自定义密码)
./AppAuthServer useradd --name=admin --passwd=laymer110
# 执行同步命令(如果失败,请多次尝试,网络不好)
./AppAuthServer sync --name=admin --passwd=laymer110
# 检查授权信息
./AppAuthServer auth-list --name=admin --passwd=laymer110