当前位置: 首页 > news >正文

php网站开发开发实例教程跟网站开发公司签合同主要要点

php网站开发开发实例教程,跟网站开发公司签合同主要要点,网络营销论文摘要,怎么做网页别人可以看到图片文章目录 简述私钥、公钥、私钥证书生成License 生成License 客户端部署 简述 可用于项目交付项目部署到甲方以及包括代码防止泄露,经常会出现公司内部代码被已离职人员在下家公司使用,底层代码的封装增加license部分,杜绝这块的问题。定期更…

文章目录

  • 简述
  • 私钥、公钥、私钥证书生成
  • License 生成
  • License 客户端部署

简述

可用于项目交付项目部署到甲方以及包括代码防止泄露,经常会出现公司内部代码被已离职人员在下家公司使用,底层代码的封装增加license部分,杜绝这块的问题。定期更换license文件可进行续期,项目中采用truelicense version 1.33实现,SpringBoot version 2.0.3.RELEASE。
代码如下:
license-server
License-client
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

私钥、公钥、私钥证书生成

私钥

keytool -genkey -alias privatekey -keystore privateKeys.store -validity 3650

私钥证书

keytool -export -alias privatekey -file certfile.cer -keystore privateKeys.store

公钥

keytool -import -alias publiccert -file certfile.cer -keystore publicCerts.store

License 生成

拉去码云中的项目
访问接口生成License文件

package com.license.server.controller;import com.license.core.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.Map;/*** 用于生成证书文件,不能放在给客户部署的代码里** @author zifangsky* @date 2018/4/26* @since 1.0.0*/
@RestController
@RequestMapping("/license")
public class LicenseCreatorController {/*** 证书生成路径*/private String licensePath = "C:/Users/zifangsky/Desktop/license_demo/license.lic";/*** 获取服务器硬件信息** @param osName 操作系统类型,如果为空则自动判断* @return com.ccx.models.license.LicenseCheckModel* @author zifangsky* @since 1.0.0*/@RequestMapping(value = "/getServerInfos", produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})public LicenseCheckModel getServerInfos(@RequestParam(value = "osName", required = false) String osName) {//操作系统类型if (StringUtils.isBlank(osName)) {osName = System.getProperty("os.name");}osName = osName.toLowerCase();AbstractServerInfos abstractServerInfos = null;//根据不同操作系统类型选择不同的数据获取方法if (osName.startsWith("windows")) {abstractServerInfos = new WindowsServerInfos();} else if (osName.startsWith("linux")) {abstractServerInfos = new LinuxServerInfos();} else {//其他服务器类型abstractServerInfos = new LinuxServerInfos();}return abstractServerInfos.getServerInfos();}/*** 生成证书** @param param 生成证书需要的参数,如:{"subject":"ccx-models","privateAlias":"privateKey","keyPass":"5T7Zz5Y0dJFcqTxvzkH5LDGJJSGMzQ","storePass":"3538cef8e7","licensePath":"C:/Users/zifangsky/Desktop/license.lic","privateKeysStorePath":"C:/Users/zifangsky/Desktop/privateKeys.keystore","issuedTime":"2018-04-26 14:48:12","expiryTime":"2018-12-31 00:00:00","consumerType":"User","consumerAmount":1,"description":"这是证书描述信息","licenseCheckModel":{"ipAddress":["192.168.245.1","10.0.5.22"],"macAddress":["00-50-56-C0-00-01","50-7B-9D-F9-18-41"],"cpuSerial":"BFEBFBFF000406E3","mainBoardSerial":"L1HF65E00X9"}}* @return java.util.Map<java.lang.String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               java.lang.Object>* @author zifangsky* @since 1.0.0*/@RequestMapping(value = "/generateLicense", produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})public Map<String, Object> generateLicense(@RequestBody(required = true) LicenseCreatorParam param) {Map<String, Object> resultMap = new HashMap<>(2);if (StringUtils.isBlank(param.getLicensePath())) {param.setLicensePath(licensePath);}LicenseCreator licenseCreator = new LicenseCreator(param);boolean result = licenseCreator.generateLicense();if (result) {resultMap.put("result", "ok");resultMap.put("msg", param);} else {resultMap.put("result", "error");resultMap.put("msg", "证书文件生成失败!");}return resultMap;}
//
//    @RequestMapping(value = "/generateLicense", produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
//    public Map<String, Object> generateLicense(@RequestBody Map<String, Object> params) {
//        return licenseCreatorService.generateLicense(params);
//    }}

License 客户端部署

生成完毕后
将License客户端代码拉去到本地,然后打包到本地依赖库。若install后依赖还是存在问题可以通过如下命令

mvn install:install-file -DgroupId=com.license.client   -DartifactId=license-client -Dversion=1.0.0-SNAPSHOT  -Dfile=D:\LicenseDemo\license-client\target\license-client-1.0.0-SNAPSHOT.jar   -Dpackaging=jar

将自己的项目依赖这个license-client,添加自定义拦截器
该拦截器在license完成,只需在自己的项目中配置添加即可
在这里插入图片描述
在这里插入图片描述
上图 在 WebMvcConfigurer 中注入 拦截器 并且 添加拦截器 添加拦截地址
注:拦截地址为登录校验地址 如果 登录校验地址与 登录页跳转地址相同 请将登录验证地址更名 否则 拦截器 在没有通过认证证书的情况下 会将登陆页面拦截
配置文件

添加 license 配置 公钥路径 以及 证书路径可更改

license:subject: license_demopublicAlias: publicCertstorePass: public_password1234licensePath: E:/license.lic

配置启动类
在这里插入图片描述

启动类包扫描 默认扫描 application启动类 文件平级以及下级的文件夹与类 配置license 包扫描路径 com.licanse

http://www.yayakq.cn/news/766784/

相关文章:

  • 网站是否降权查询wordpress个人小说主题
  • 长沙网站关键词排名集团公司网站源码php
  • 网站建设情况通报php 实现网站扫码登录
  • 网站带后台网站服务器的DNs怎么查
  • 备份wordpress网站青岛开发区网站制作
  • 静态网站源文件下载上海网页设计服务
  • 郑州搭建网站校园无线网络建设方案
  • 网站建设推介会发言稿长沙网站seo厂家
  • 东莞废水处理 东莞网站建设wordpress主题教程视频
  • 专业电子网站建设wordpress插件音乐播放器
  • 做网站优化有必要学校网站建设方案模板
  • 外贸建站如何推广百度手机助手app下载安装
  • 温州网站建设外包网站开发设计的源码
  • 汕头建站价格宝塔批量建站工具
  • 专业网站推广引流互联网站开发
  • 赣榆做网站游戏服务端源码
  • 营销网站的建设流程h5网站建设代理
  • 开发网站开源免费网站建设费 无形资产
  • 网站着陆页怎么做内容不相关的网站做301重定向
  • 人才网站的会计账如何做婚纱设计网站模板商城
  • 设计师找图网站荆州哪里做网站
  • 网站优化建设郑州互联网推广营销隐迅推认定
  • 照片视频制作网站成都软件开发工资一般多少
  • 如果用别人公司信息做网站近期的新新闻
  • wordpress 企业站主题中国新闻社是央企吗
  • 网站建设十胜石项目管理软件免费
  • 祭祖网站怎么做专业做影楼招聘网站有哪些
  • 怎么做公司内部网站唯美图片wordpress主题
  • 电子商务网站建设规划的论文wordpress w3
  • 网站的关键词报价的网站跨境电商app下载