• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • 利用Github服务器做一个应用在线授权系统

    Github EXP 68阅读 0评论

    源码

    Source : Github By EXP


    环境


    简介

     此插件是供开发者使用的,通过它可以利用Github服务器发布若干个应用的授权信息。

     然后这些应用可以通过Github服务器提取自身的授权信息完成自检。

     目前提供的自检方案主要有:

    • 有效版本校验
    • 有效时间校验
    • 黑名单校验
    • 白名单校验

    实现原理

    实现原理

     在Github的每个Repository都是可以发布一个静态页面的,而且这个静态页面可以在公网访问。

     这个静态页面初衷是用来介绍Repository的,但是也可以利用它作为一个静态服务页,实现其他功能。

    为某个Repository发布静态页面的方法:
      (1) 打开这个Repository的仓库首页
      (2) 进入 Settings 页面
      (3) 找到 GitHub Pages,在 Source下面有一个下拉框, 默认是 None, 修改为 master branch
      (4) 然后刷新 Settings 页面,在 GitHub Pages 的位置会提示:Your site is published at xxx-url
      (5) 在Repository根目录新建一个 index.html 文件,写入页面内容,就可以通过这个 xxx-url 访问它了


     回到这个插件,其实原理就很简单了,要实现的功能主要有两个:

    • (在开发环境)通过更新 index.html,在 xxx-url 静态页面维护被授权应用的信息
    • (在生产环境)应用从 xxx-url 静态页面提取自身的授权信息进行自检

    使用方式

     由于插件存在两部分功能,因此使用方式也是对应拆分为两部分。


     (开发环境)在 xxx-url 静态页面维护被授权应用的信息:

    • 01. 通过 git 命令 clone 这个插件仓库到本地,并通过 Eclipse 导入这个插件项目
    • 02. 修改 ./conf/ec_conf.xml 配置文件,在节点 <appInfos> 下配置被授权的应用信息,格式为:

    • 03. 运行 exp.certificate.Main 类,会自动根据 ./conf/ec_conf.xml 配置的内容刷新 ./index.html 文件
    • 04. 通过 git 提交变更,即成功把被授权应用的信息提交到了 Github服务器
    • 05. 此时刷新静态页面地址 xxx-url,会发现页面内容已变更(为了保证信息安全,所生成的授权信息均已加密处理),如:
      静态页面

     (生产环境)应用从 xxx-url 静态页面提取自身的授权信息进行自检:

    • 01. 通过 maven install 命令发布本插件作为 jar构件,目标应用通过 pom.xml 依赖此构件:

    • 02. 构件内提供了API:exp.certificate.api.Certificate.getAppInfo() ,可据此从 xxx-url 获取自身的授权信息
    • 03. 获取到的授权信息会以明文方式保存到 exp.certificate.bean.AppInfo, 按需使用即可

    版权声明

    Copyright (C) 2016-2018 By EXP License: GPL v3


    转载请注明:EXP 技术分享博客 » 利用Github服务器做一个应用在线授权系统

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址