Jeecg-Boot前后端分离版】的更多相关文章

Jeecg-Boot前后端分离版http://www.jeecg.org/forum.php?gid=229 Jeecg-Boot 快速开发平台http://boot.jeecg.org/user/login?redirect=%2F JEECG官方网站-JAVA快速开发平台http://www.jeecg.org/forum.php?mod=viewthread&tid=7828&extra=page%3D1 JEECG官方网站-JAVA快速开发平台http://www.jeecg.or…
八个开源的 Spring Boot 前后端分离项目 最近前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,我们也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势! 其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想.很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一些前后端不分时候的开发思路,结果做出来的产品不伦不类,因此我们这里…
新蜂商城 Vue 移动端版本开源啦! 去年开源新蜂商城项目后,就一直在计划这个项目 Vue 版本的改造,2020 年开始开发并且自己私下一直在测试,之前也有文章介绍过测试过程和存在的问题,修改完成后,于 5 月底将 Vue 版本的所有代码开源了,只是后面一直太忙,没有时间整理这篇文章. 现在,向大家介绍一下这个 Vue 版的前后端分离商城项目. 所有的代码.文件全部都开源到 GitHub 仓库中,并没有任何藏着掖着的行为,不会说缺少哪个依赖或者某个重要功能,这种事情是不存在的,大家先看看文章和预…
前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了.即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势! 其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想.很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一些前后端不分时候的开发思路,结果做出来的产品不伦不类,因此松哥这里给大家整理了几个开源的前后端分离项…
前后端分离 前面讨论了springboot下security很多常用的功能,其它的功能建议参考官方文档学习.网页版登录的形式现在已经不是最流行的了,最流行的是前后端分离的登录方式,前端单独成为一个项目,与后台的交互,包括登录认证和授权都是由异步接口来实现.在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高.这种应用模式比较适合纯网页应用, 但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而…
JWT 使用 前面简单介绍了把默认的页面登录改为前后端分离的接口异步登录的方法,可以帮我们实现基本的前后端分离登录功能.但是这种基本的登录和前面的页面登录还有一个一样的地方,就是使用session和cookie来维护登录状态,这种方法的问题在于,扩展性不好.单机当然没有问题,如果是服务器集群,或者是跨域的服务导向架构,就要求 session 数据共享,每台服务器都能够读取 session. 一种解决方案是 session 数据持久化,写入redis或别的持久层.各种服务收到请求后,都向持久层请求…
登录总结 前面基本介绍了security的常规用法,同时介绍了JWT和它的一个简单实现,基本上开发中遇到的登录问题都能解决了,即使在分布式开发,或者微服务开发中实现登录也基本没有问题了.security本身已经实现的比较完善的安全处理,加上JWT的验证方式,可以实现一个理想的登录功能. 我们来看登录,给用户一个账号,验证有效后登录成功,这一步是任何系统都无法避免的.无论这个账号只能登录一个系统还是像支付宝账号一样登录多个app,无论账号是用户名密码,还是手机验证码,或者邮箱等其他形式,可以说认证…
OAuth2.0 OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者.客户端来申请资源,资源所有者同意以后,资源服务器可以向客户端颁发令牌.客户端通过令牌,去请求数据.也就是说,OAuth 的核心就是向第三方应用颁发令牌.而且,OAuth 2.0 规定了四种获得令牌的流程.你可以选择最适合自己的那一种,向第三方应用颁发令牌. 具体的OAuth学习建议仔细研读阮一峰的教程, http://www.ruanyifeng.com/blog/2019/04/oauth_design…
自动批准授权码 前面我们授权的流程中,第一步获取授权码的时候,都会经历一个授权是否同意页面: 这个流程就像第三方登录成功后,提问是否允许获取昵称和头像信息的页面一样,这个过程其实是可以自动同意的,需要在客户端配置中,增加一个自动批准: 这样我们申请授权码直接就可以得到: 在流程需要自动完成的时候,需要这样配置,如果需要用户点击同意,那么这里需要设置为false,不写默认也是false. 客户端信息整理 上面的自动批准只是客户端配置中一个小的配置,下面我们来系统整理一下客户端所有可配置的内容.首先…
内存中存储token 我们来继续授权服务代码的下一个优化.现在授权服务中,token的存储是存储在内存中的,我们使用的是 InMemoryTokenStore : 图中的tokenStore方法支持很多种令牌的存储方式,来看一下: InMemoryTokenStore:这个版本的实现是被默认采用的,它可以完美的工作在单服务器上(即访问并发量压力不大的情况下,并且它在失败的时候不会进行备份),大多数的项目都可以使用这个版本的实现来进行尝试,你可以在开发的时候使用它来进行管理,因为不会被保存到磁盘中…
密码模式 前面介绍了授权码模式和刷新令牌两种获取最新令牌的方法,下面来看一下其它模式.首先看密码模式,我们默认配置的三种模式中其实就包含密码模式的支持: 因此我们启动项目,直接使用密码模式即可,访问地址是: http://ip:port/oauth/token 参数有五个,分别是: grant_type:密码模式值必须为 password username:用户名 password:密码 client_id:客户端id client_secret:客户端秘钥 访问示例如下: 密码模式适用于用户高…
示例代码的改进 前面使用spring cloud security和spring cloud oauth2写了一个第三方授权的例子,例子非常的简单,主要目的是用来熟悉OAuth2.0 申请授权的整个流程,这个简单的示例肯定是不能直接用于生产环境的,还有很多需要改进的地方,我们来总结一下: 1.只演示了授权码的形式,其它的三种(隐藏式,密码式,客户端凭证)并没有熟悉 2.密码和秘钥是未加密的 3.oauth的客户端配置,包括id,秘钥等信息是在内存中配置死的,无法动态增加 4.token也是放在内…
刷新token 前面的例子和配置都是从头开始申请授权码和令牌,现在来看一下如何根据获取令牌时,回参中的 refresh_token 来刷新令牌.现在在项目中配置的是内存模式的默认用户名密码,第一步先改成数据库查询的方式,具体过程参考前面的文章即可,来看security配置类: 然后修改授权服务配置类,在 endpoints 中配置userDetailsService: 修改成数据库方式也是为了创建userDetailsService对象,刷新令牌时会根据此对象对用户信息进行检查.这样刷新令牌的配…
JWT转换器 前面的例子中,都是在授权服务配置类中配置了一个很简单的jwt转换器,如下: 可以看到我们只用setSigningKey方法配置了一个秘钥,这里使用的是简单的对称加密的方式来加密jwt内容,同时资源服务器中使用的也是同样的秘钥配置jwt转换器: 除了对称加密的方式,生产环境使用非常多的是更加安全的非对称加密的方式来加密jwt. 生成公私钥 公私钥对可以使用jdk的命令 keytool 来生成,首先来看一下这个命令下有哪些参数: 中文的参数说明很清晰,我们需要使用 -genkeypai…
使用JDBC维护授权码 前面的代码中,测试流程第一步都是获取授权码,然后再携带授权码去申请令牌,授权码示例如下: 产生的授权码默认是 6 位的,产生以后并没有做任何管理,可以说是一个临时性的授权码,oauth2也提供了将授权码使用jdbc进行管理的功能,首先在数据库中创建表 oauth_code : code:存储服务端系统生成的code的值(未加密) authentication:存储将AuthorizationRequestHolder.java对象序列化后的二进制数据. 然后创建bean…
应用登记 一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求.举个例子,下面是github的登记页面: https://github.com/settings/applications/new 下面我们来自己做一个简单的应用登记,根据表 oauth_client_details 的结构,我们登记的时候只填写应用名称和回调地址即可,其它的字段如下: client_id:使用UUID生成 client_secret:使用UUID生成,并使用 BCryptPasswordEnc…
单点登录(SSO) 关于oauth2.0,最后我们再来学习一下单点登录.前面介绍过单点登录的定义,单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 关于单点登录,springcloud G版本的官方文档地址如下: https://cloud.spring.io/spring-cloud-static/Greenwich.SR3/single/spring-cl…
增加Eureka 前面介绍的项目都是授权服务和资源服务单独两个,这样在资源服务中的 check_token 地址都是写死的地址 : 下面我们把eureka加上,这样就可以直接用服务名了.eureka服务的搭建不再讨论,在服务中加eureka只需要改两个地方,就是加依赖和修改配置: 增加配置如下: 然后就可以把资源服务中的固定ip改为服务名: 增加令牌中继 从授权服务获取令牌以后,直接访问一个资源服务是没有问题的,但是如果资源服务又去调用其它资源服务,就会产生一个问题,就是令牌无法自动往下传递.要…
使用Mybatis查询客户端信息 前面的例子使用了默认的jdbc配置来动态从数据库查询客户端信息,下面来改用更加灵活的mybatis来实现,改用mybatis,首先pom中换成mybatis的依赖: 然后新建一个实体类,并实现查询需要的 ClientDetails 接口: 由于接口默认需要实现的方法有很多返回类型为集合类型的,所以这里的部分get方法做一些调整,例如: 其它的可以自行下载源代码查看.实体类建好以后,我们就可以查询客户端了: 实现 ClientDetailsService 接口 查…
添加QRcode页面代码 <template> <div class="register"> <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> <h3 class="title">花神引后台管理系统&…
最近做了一个前后端分离的商城项目来熟悉开发的整个流程,最后希望能有个正式的部署流程,于是试着把项目放在云服务器上,做了一下发现遇到了不少问题,借此记录一下整个部署的过程. 使用的技术栈如标题所说大体上是Vue+Spring boot,但还是要提一下详细的版本,因为在解决问题的过程中发现由于开发环境的不同会产生诸多影响,查找问题时如果没有版本作为前提经常会出现很多不必要的误解,甚至是误操作,非常浪费时间.详细版本情况如下: Vue 2.6.11 Vue-cli 4.5.0 Spring boot…
项目简介 novel 是一套基于时下最新 Java 技术栈 Spring Boot 3 + Vue 3 开发的前后端分离的学习型小说项目,配备详细的项目教程手把手教你从零开始开发上线一个生产级别的 Java 系统,由小说门户系统.作家后台管理系统.平台后台管理系统等多个子系统构成.包括小说推荐.作品检索.小说排行榜.小说阅读.小说评论.会员中心.作家专区.充值订阅.新闻发布等功能. 项目地址 后端项目(更新中):GitHub| 码云 后端微服务版本项目(待更新):GitHub |码云 前端项目(…
最近想弄一下vue 所以就自己给自己找坑入   结果弄的满身是伤 哈哈哈 首先我说下 前后端分离  跨域请求  我在网上找了一些  可是都是针对于 spring boot 的 我自己还有 security 呢  那么问题来了这个权限认证 怎么搞 其实很简单  直接上代码了 在你的 security 配置加上 .cors() //主要是这个呀 加上了 应该是允许跨域 .and() .csrf().disable(); 然后就是  在spring boot 里配置一个跨域 @Configuratio…
课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发.Spring Boot 介绍.前后端分离.API 规范等内容旨在让读者更加熟悉 SpringBoot 及企业开发中需要注意的事项并具有使用 SpringBoot 技术进行基本功能开发的能力:这最后的项目实战为课程的主要部分,我会带着大家实际的开发一个前后端分离的 Spring Boot 实践项目,…
开篇词:SpringBoot入门及前后端分离项目实践导读 第02课:快速认识 Spring Boot 技术栈 第03课:开发环境搭建 第04课:快速构建 Spring Boot 应用 第05课:Spring Boot 之基础 web 功能开发 第06课:Spring Boot 之数据库连接操作 第07课:Spring Boot 整合 MyBatis 操作数据库 第08课:Spring Boot 处理文件上传及路径回显 第09课:Spring Boot 项目实践之前后端分离详解 第10课:Spri…
介绍 最近在工作中做个新项目,后端选用Spring Boot,前端选用Vue技术.众所周知现在开发都是前后端分离,本文就将介绍一种前后端分离方式. 常规的开发方式 采用Spring Boot 开发项目开发项目常规的方式其实很简单,无非还是采用原来Spring Mvc那一套,建控制器(Controller)然后建方法(action)再添加模板引擎(spring boot 推荐使用thymeleaf)这样开发开起来其实也没有大问题,毕竟是采用了MVC的思想,在一定程度上开发起来还是很方便的.但是如果…
JEECG前后端分离UI框架实战版本 - 抢先体验 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeecg JEECG紧跟技术潮流推出前后端分离架构UI,前端开发与后台服务分离,便捷的开发模式,更好的体验风格,后期前端UI重够更方便. UI 框架:Angular4+AdminLTE 技术点: angular4.nodejs.Typescript.Angular CLI.npm.AdminLTE 开发工…
JEECG前后端分离UI框架 (ng2-admin+Angular4+AdminLTE) 关键词: ng2-admin.Angular4.AdminLTE.Nodejs.Jeecg JEECG紧跟技术潮流推出前后端分离架构UI,前端开发与后台服务分离,便捷的开发模式,更好的体验风格,后期前端UI重构更方便. UI 框架:Angular4+AdminLTE技术点: angular4.nodejs.Typescript.Angular CLI.npm.AdminLTE开发工具:  WebStorm…
前端网络访问,主流方案就是 Ajax,Vue 也不例外,在 Vue2.0 之前,网络访问较多的采用 vue-resources,Vue2.0 之后,官方不再建议使用 vue-resources ,这个项目本身也停止维护,目前建议使用的方案是 axios.今天松哥就带大家来看看 axios 的使用. axios 引入 axios 使用步骤很简单,首先在前端项目中,引入 axios: npm install axios -S 装好之后,按理说可以直接使用了,但是,一般在生产环境中,我们都需要对网络请…
折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了,以帮助小伙伴们更好的查看效果.但是那个是一台国外服务器,之所以购买国外服务器,主要是嫌国内备案麻烦,当然也有其他大家都懂的原因. 国外服务器有方便的地方,同时也有很多不便,例如网络不稳,随时有失联的风险.所以我在 2018 年年初,虽然把这两个项目都部署在服务器上,但是很多小伙伴的访问体验都不好,主…