共计 2630 个字符,预计需要花费 7 分钟才能阅读完成。
序言
大家好,我是白墨!
本次的指标是学习 iBase4J 这个框架,先贴一个官网的介绍:
- iBase4J 是 Java 语言的分布式系统架构。应用 Spring 整合开源框架。
- 应用 Maven 对我的项目进行模块化治理,进步我的项目的易开发性、扩展性。
- 零碎包含 4 个子系统:系统管理 Service、系统管理 Web、业务 Service、业务 Web。
- 系统管理:包含用户治理、权限治理、数据字典、零碎参数治理等等。
- 业务相干:您的业务开发。
- 能够有限的扩大子系统,子系统之间应用 Dubbo 或 MQ 进行通信。
我先跟着网上找的一篇教程 1 走了一遍。
但教程过期,有些中央走不通,而后再自行钻研批改,所以有了本文,倡议读本文前先看看原教程,错了也没关系。
原教程地址:https://blog.csdn.net/u011781…
次要是这个我的项目没有官网的文档,据说官网文档是付费进 Q 群能力获取,而且当初群又是满的,好受。
来人,给作者续费个年费超会!
注释
第一关、拉取我的项目
我的项目源码地址:https://gitee.com/iBase4J/iBa…,间接用 Git 拉取就行了。
不会的话进入页面手动下载吧……
当然,我这也有一条龙服务,保您称心:手把手教你 IDEA 连贯码云(Gitee)。
第二关、导入数据库
应用的数据库版本为 MySQL8.0+。
导入当前后果如下图所示。
那个 ibase4j_biz 的数据库也是 sql 语句生成的,外面啥也没有,也不晓得有没有用,临时没去管它。
第三关、批改 JDBC 配置文件
批改 两个 Service 模块 下的 jdbc.properties
配置文件,开发、生产、测试环境加起来一共有 6 个,一股脑全改了。
其中明码是通过调用办法取得 top.ibase4j.core.util.SecurityUtil.encryptDes(String password,byty[] key)
,
轻易找个 main 办法调用后在控制台输入即可取得。
此处与网络上的教程不同,卡了我半天。
具体调用办法如下:
System.err.println(SecurityUtil.encryptDes("root",new byte[]{57,48,49,51,57,49,49,57}));
其中数组 key
是我通过 debug
时察看解密办法传入的参取得的。
我的明码是 root
,加密后为 M1XaoOiy+J7=
,
如果你的也是,能够先试试能不能间接用…
第四关、环境搭建,批改 nginx 设置
环境有一堆,全是 Windows 的,我的版本如下:
apache-activemq-5.13.2
apache-zookeeper-3.6.2-bin
nginx-1.9.12
Redis-x64-3.0.504
打了个包,我这套环境的地址:https://baimoo.lanzouh.com/is… 明码: baimo
结尾提到的【原教程】外面也分享了一套环境,在这:https://baimoo.lanzouh.com/iF… 明码: baimo
接下来批改 nginx 设置,配置门路在 nginx-1.9.12\conf\nginx.conf
,如下图,root 前面填动态页面的门路,
网上公开的教程都没有写到 src
这一级目录,应该是过后作者还没有批改文件地位吧。
此处与网络上的教程不同,卡了我一天,始终在报 403!
没学过 nginx,权且猜想端口号就是服务器端的端口吧,所以我填了 127.0.0.1:8088
。
其余没什么改变,别离启动即可(最好用管理员模式),门路如下:
apache-activemq-5.13.2\bin\win64\activemq.bat
apache-zookeeper-3.6.2-bin\bin\zkServer.cmd
Redis-x64-3.0.504\redis-server.exe
nginx-1.9.12\nginx.bat(<--- 须要改一下外面的启动门路)
第五关、增加地址白名单
所有搞好当前,别离启动模块 iBase4J-SYS-Service
和 iBase4J-SYS-Web
,
而后进入 http://127.0.0.1 终于关上了登录页面。
可是登录时又返回了 308
谬误,后盾报了个跨站申请,可我所有环境都在本机。
账密:
admin/111111
通过搜寻 2、debug 排查发现有个地址白名单。
在类 top.ibase4j.core.filter.CsrfFilter
外面有个 whiteUrls
数组,
值是通过读取文件 white/csrfWhite.txt
获取的。
那么,找到文件,在 iBase4J-SYS-Web 模块下,iBase4J-SYS-Web/src/main/resources/white/csrfWhite.txt
。
好家伙,一个都没有,难怪 size 为 0,永远也登录不了。
把本机地址加进去,而后重启模块 iBase4J-SYS-Web
。
http://127.0.0.1
http://localhost/
再次进入登录页面 http://127.0.0.1,输出 admin/111111
,登录胜利。
一开始没有登录胜利,认为是明码错了,debug 找了十几分钟的认证办法,后果啥也没改,忽然又登录胜利了,莫名其妙的。共事说可能是 Redis 缓存的问题。
图片显示有点 bug,不在本文探讨范畴!
序幕
如果用的 UI 是 iBase4J-UI-DataTables
,登录时还会遇到传不了参的问题。
能够先在后盾把明码写死,凑合着用😗当前再去修复 Bug。办法如下:
模块 iBase4J-SYS-Web
,
类 org.ibase4j.web.LoginController
,
办法 login
,在办法内第一行退出以下代码。
user.setAccount("admin");
user.setPassword("96e79218965eb72c92a549dd5a330112");
简略粗犷!
好了,本文到此结束,鼓掌!
我是 白墨 ,一个酷爱学习与划水的矛盾体。一个才开始写博客的新人,当前的品质会越来越高,欢送独特见证! 点个关注吧?点个关注吧?点个关注吧~
ヽ (✿゚▽゚) ノ公众号「白墨是个程序猿」,进来逛逛呗
最初再吃点瓜:警觉挂着开源的招牌到处坑蒙拐骗的垃圾我的项目,比方 iBase4J
- 码农致富. 开源我的项目学习之(二)——iBase4J 环境搭建 [Z].CSDN,2018-01-10 ↩
- 易水. 如何解决 iBase4J 登录没有反馈的问题 [Z]. 知乎,2021-06-01 ↩