依然快速开发平台

基于SpringBoot2.0的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro,thymeleaf模板引擎,没有任何其它重度依赖。


license的生成使用

<h1>生成证书</h1> <ul> <li>在windows命令窗口输入生成命令: <pre><code>keytool -genkeypair -keysize 1024 -validity 3650 -alias "yiranPrivateKey" -keystore "yiranPrivateKey.keystore" -storepass "public_yiran_password1234" -keypass "private_yiran_password1234" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" 说明:私钥别名:yiranPrivateKey(自己定义)public_yiran_password1234(公钥密码) private_yiran_password1234(私钥密码)</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/02894bff973158cad690c91d99788666?showdoc=.jpg" alt="" /></p></li> <li>导出XXX.cer文件 <pre><code>keytool -exportcert -alias "yiranPrivateKey" -keystore "yiranPrivateKey.keystore" -storepass "public_yiran_password1234" -file "yirancertfile.cer"</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/e8ad90d6f9faeefffdbad183a6d5f83d?showdoc=.jpg" alt="" /></p></li> <li>导入命令 <pre><code>keytool -import -alias "yiranPublicCert" -file "yirancertfile.cer" -keystore "yiranPublicCert.keystore" -storepass "public_yiran_password1234"</code></pre> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/1287bc7765adb12ff1a0c2584b0a8815?showdoc=.jpg" alt="" /> 这三个文件就是我们需要的证书 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3e7a8f54f7fd1803839c5a6d515701ae?showdoc=.jpg" alt="" /></p> <h1>根据证书生成license</h1> <p>1.启动项目报错如下错误是因为程序证书没有安装或者证书错误。不影响基本操作,但是有些功能可能用不了。这个时候我们需要生成license <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/93a41dc718cda3db19891ef8eb0f926d?showdoc=.jpg" alt="" /></p></li> </ul> <h2>license生成方法</h2> <p>1.获取应用服务器信息(ip,mac,cpu...) <a href="http://localhost:8083/license/getServerInfos">http://localhost:8083/license/getServerInfos</a></p> <pre><code>{ "ipAddress": [ "172.0.0.1" ], "macAddress": [ "52-54-0A-E5-DE-C7" ], "cpuSerial": "FF 08 04 00 FA FB 8B 1F", "mainBoardSerial": "4459bc5e-e32f-4609-a15a-a65cffae74b2" }</code></pre> <p>2.生成license文件 <a href="http://localhost:8083/license/generateLicense">http://localhost:8083/license/generateLicense</a> 请求参数:</p> <pre><code>{ "subject": "依然快速开发平台", "privateAlias": "yiranPrivateKey", "keyPass": "private_yiran_password1234", "storePass": "public_yiran_password1234", "licensePath": "/opt/license/license.lic", "privateKeysStorePath":"/opt/license/keys/yiranPrivateKey.keystore", "issuedTime": "2019-11-02 00:00:01", "expiryTime": "2023-11-02 23:59:59", "consumerType": "User", "consumerAmount": 1, "description": "依然快速开发平台", "licenseCheckModel": { "ipAddress": ["172.17.0.12"], "macAddress": ["52-54-00-E5-D4-C7"], "cpuSerial": "F1 06 04 00 FF FB 8B 1F", "mainBoardSerial": "4459bc5e-e32f-4609-a15a-a65cffae74b2" } }</code></pre> <p><strong>参数:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">subject</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>主题</td> </tr> <tr> <td style="text-align: left;">privateAlias</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>私钥别名(创建证书时设置的)</td> </tr> <tr> <td style="text-align: left;">keyPass</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>私钥密码(创建证书时设置的)</td> </tr> <tr> <td style="text-align: left;">storePass</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>公钥密码(创建证书时设置的)</td> </tr> <tr> <td style="text-align: left;">licensePath</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>license保存路径</td> </tr> <tr> <td style="text-align: left;">privateKeysStorePath</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>yiranPrivateKey路径</td> </tr> <tr> <td style="text-align: left;">issuedTime</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>生效时间</td> </tr> <tr> <td style="text-align: left;">expiryTime</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>失效时间</td> </tr> <tr> <td style="text-align: left;">consumerType</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>使用者类型</td> </tr> <tr> <td style="text-align: left;">consumerAmount</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>使用流量</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>描述</td> </tr> <tr> <td style="text-align: left;">licenseCheckModel</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>许可证检查模型(第一个接口获取的服务器的参数)</td> </tr> </tbody> </table> <p>3.license放到指定的目录,重新启动就不会报错了。</p> <h2>license在项目中的配置</h2> <p>在项目中添加证书验证的路径的方法: 在WebMvcConfig类中添加 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3eacfeba0609c8b066e5a60a47bb0656?showdoc=.jpg" alt="" /></p>

页面列表

ITEM_HTML