JeecgBoot单点登录源码全部开源了,有需要的朋友可以来薅羊毛了。
一、JeecgBoot介绍
JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot 引领低代码开发模式 (OnlineCoding-> 代码生成 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
二、 单点登录介绍
单点登录(Single Sign On ,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
CAS(Central Authentication Service)是 Yale大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法。
三、 单点登录流程图
四、单点登录服务配置
1. 所需环境及版本
- jdk 1.8
- mysql 5.7
- cas 5.2.3
- maven 3.5.3
- tomcat 8.5(官方推荐Tomcat至少要8版本以上)
2. 下载单点登录源码
下载JeecgBoot CAS服务端项目源码,其中包括jeecgboot-cas-db、jeecgboot-cas-server-overlay
源码地址: https://github.com/jeecgboot/jeecgboot-cas-server
- jeecgboot-cas-db:JeecgBoot cas REST认证中心[8448]
- jeecgboot-cas-server-overlay:JeecgBoot cas 单点登录服务中心[8443]
3. 项目导入及数据库配置
- 将下载的源码解压到文件夹中,使用IDEA导入项目
- 导入成功后,显示cas项目
- IDEA配置maven
- 数据库配置
在mysql中创建数据库,数据库名为"jeecg_cas"
,并执行"jeecgboot-cas-db"
中的"jeecgboot_cas.sql"
,创建sys_user用户表
数据库及表:
jeecg_cas中sys_user表的数据需与JeecgBoot项目中连接的数据库sys_user用户信息保持一致,如用户名及密码。
4. jeecgboot-cas-db配置
修改数据库连接,修改为刚刚创建的
"jeecg_cas"
; jeecgboot-cas-db项目端口默认为"8448"
,context-path默认为"/cas-db"
;如果需要修改的话,可自行修改。
找到JeecgBootCasDbApplication.java文件,右键点击运行
启动成功
5. jeecgboot-cas-server-overlay配置
修改jeecgboot-cas-server-overlay项目下的application.properties;端口默认为
"8443"
,"context-path"
默认为"/cas"
;可根据需求自行修改。
修改jeecgboot-cas-server-overlay项目下的application.properties;配置REST 认证
cas.authn.rest.uri=http://localhost:8448/cas-db/cas/user/login
8448即jeecgboot-cas-db配置的端口
cas-db即jeecgboot-cas-db配置的context-path。
配置完成后,使用maven打包
打包完成后,会有target目录,将
"cas.war"
文件复制到tomcat下
6. tomcat配置及启动
- tomcat conf目录下的server.xml 中端口需要和
"jeecgboot-cas-server-overlay"
项目中的端口保持一致。
- 将
"jeecgboot-cas-server-overlay"
项目中打包的"cas.war"
复制到tomcat的webapps目录下
- 启动tomcat即可
五、 JeecgBoot后端项目配置
- 在jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml 修改单点登录配置,配置地址为
"jeecgboot-cas-server-overlay"
的访问。 - cas.test.com为本地域名,也可以为ip,如"192.168.1.106"或"127.0.0.1"
- 如果需要使用本地域名需配置host文件,host目录:C:\Windows\System32\drivers\etc\hosts
配置完成,重新启动JeecgBoot后端项目即可
六、jeecgboot-vue3前端项目配置
- 修改 .env文件,单点登录服务端地址及是否开启单点登录 VITE_GLOB_APP_OPEN_SSO = true 为开启单点登录
七、访问
使用"http://localhost:3100/"
访问时,如果没有登录,默认跳转至统一认证平台,输入用户名、密码登录成功后,自动跳转回"http://localhost:3100/"
以上,JeecgBoot单点登录就配置完成了。