`
文章列表
项目地址:https://github.com/supershen1988/base_pro,分为mybatis和jpa两个版本,目前主要维护mybatis版本 基于springside4.0的todoList并将项目升级为springboot项目,可作为后台管理系统的基础框架,功能包含用户管理、角色、权限管理等。 其中jpa更改为mybatis+mybatis—plus 前端页面更改为更友好的layuiadmin(商业授权iframe版本,所以前端基础代码未上传,请购买后放到src/main/webapp/static/layuiadmin下。购买链接:http://www.layui. ...
在做springcloud的feign整合的时候,学习到熔断机制,hystrix实现了熔断机制,而springcloud的feign默认整合了hystrix,所以添加feign依赖后就不用在添加hystrix,那么怎么才能让feign的熔断机制生效呢,官方称默认fegin的hystrix已经生效了只要按一下步骤做: 1.feign注解增加fallback属性 @FeignClient(name = "这里写服务名称",fallback ="UserServiceAPIFallback .class") public interface UserSe ...
首先maven配置文件pom.xml增加activiti配置 <!-- 工作流 --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>${activiti.version}</version> </dependency>  activiti.version = 5.22.0 然后查看ja ...
问题描述: session超时后,iframe嵌套的页面子页面直接跳转到了登录页,如下图: 这种情况是我们不想要的,解决办法是在登录页判断是否在iframe里,如果在,直接刷新父页面到登录页。 所以在login.jsp中加入如下代码: 找到boot启动类,
之前的项目用shiro只实现了菜单和按钮的隐藏显示功能,但是如果懂点技术的,直接模拟你的url访问,还会直接跳到相应页面。 为了杜绝以上问题,shiro里可以在Controller的方法上加入注解来控制url访问,例如springmvc加上以下注解: 但是这个注解只是拦截验证是否有访问当前url的权限,如果无访问权限,直接抛出org.apache.shiro.authz.UnauthorizedException异常,并不会捕捉,所以页面直接报500错误, 这是我们不想看到的,我们想让他直接跳转到401页面:
最近在用学习springcloud 想法网关中加入权限url验证,这样其他微服务就不用做url验证了,分布式session用的spring session 遇到问题是:单独访问每个微服务,session都能统一请求到同一个sessionId,但是通过zuul去转发到两个微服务的时候,请求到的session就不一致了,后来查了一下资料网上的解决方案是配额uzhiwenjian增加zuul配置: application.properties: zuul.routes.api-a.sensitiveHeaders="*"    启动注册中心、zuul网关、两个微服务, ...
在解决方案一中解决了iframe session超时跳转到登录页问题,但是第二个问题来了,超时登陆后,出现直接跳转到了iframe的内容页,翻看了shiro官方文档,意思是shiro默认记住了超时登录之前的url放到了shiro自己的session内,当重新登录后,会获取session中的url,然后跳转过去,解决每次超时都跳转到首页的问题。 但是咱们的问题是他每次超时跳转都直接跳转到了iframe的内容页 导致左侧菜单没有了,所以咱的思路就是要在他登录后让他跳转到首页,而不跳转到详细页。 根据官方wiki 我发现在shiro的webUtils工具类中有这样一个方法,源码如下: 此 ...
1. 访问 http://dist.springsource.com/release/TOOLS/composite/e3.7/bookmarks.xml (可能要fan/qiang. 还有这个网址中的3.7是个变量,根据你的eclipse版本来确定。)。将这个xml文件保存到到本地. 2.然后按下图操作。 步骤5是 http://dist.springsource.com/release/TOOLS/gradle    然后一路next。 3. 安装后的配置 安装完以后, 是可以喝maven的插件一样,可以指定gradle装在哪里,还是使用插件自带的gradle warpper ...

Shiro Security

一直在用springside的开源项目做项目基础架构,从springside4开始权限管理框架由SpringSecurity更换为shiro,由于以前一直用spring的权限管理框架所以这次也把shiro和SpringSecurity进行了简单对比,有时间的话我会将搭建一套maven+springboot+spring-data-jpa+hibernate/mybatis+shiro+bootstrap的通用权限管理框架,作为maven模版,以后分享给大家。 具体整理如下: 1.权限模型 除了够简单,Shiro与SpringSecurity的不同在于支持权限判断与角色判断两套API,代码 ...
Hibernate & JPA 1、JPA     全称Java Persistence API,通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。      JPA的出现有两个原因: 其一,简化现有Java EE和Java SE应用的对象持久化的开发工作; 其二,Sun希望整合对ORM技术,实现持久化领域的统一。      JPA提供的技术:  1)ORM映射元数据:JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;  2)JPA 的API:用来操作实 ...
大型网站架构中,资源存储是十分重要的,网站肯定会涉及到文件上传、图片上传等资源存储操作,而在网站用户量不断增长的同时,网站的资源存储也会越来越大的耗费服务器硬盘,一般架构会单独设立静态资源服务器,但是如果是电商网站架构初期,T级别的服务器也是非常昂贵的,就此阿里看到了商机,把自己用于淘宝的资源存储oss方案用于商用,用户可以注册购买oss服务,然后通过调用阿里oss api将自己的静态资源存储到oss上。 阿里oss产品介绍: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调用 API,在任 ...
之前使用springboot的时候1.3版本 更改jsp文件的时候 直接访问项目就能生效看到修改,基于公司项目架构使用时发现更改jsp需要重启项目才能生效,后来查看官方更新日志,1.5版本开始需要手动配置直接生效的选项,并建议只在开发阶段使用。 启动的配置如下: 在application-dev.properties文件中加入:   server.jsp-servlet.init-parameters.development=true  
问题描述: 应用程序和mysql数据库建立连接,如果超过8小时应用程序不去访问数据库,数据库就断掉连接。这时再次访问就会抛出异常。 在java项目中,除了电商网站,其他的以大系统项目为主,一般白天使用,晚上不用,所以启动项目后经过一晚上没有连接超过8小时,就会断开连接,而mysql断开连接但java的连接池还在,早上来的时候再访问系统就会报一下错误: springboot项目使用默认连接池连接,明白以上mysql问题,那么咱们就让java 在8小时内自动连接一次,问题就解决了,增加配置如下:  
几年前,刚做电商的时候,我开始做支付模块,负责去集成第三方支付接口,集成的接口有:微信(分两种,一种扫码,一种直接支付),支付宝(现在也分两种),易宝(据说快黄了),快钱(相对支付宝微信费率低,但提现周期长),北京农商银行网上银行等。 支付流程基本一致,这里拿快钱支付流程为例: 流程详解: 1、消费者选择商品,商品参数传递给send页面。 2、Send页面将请求提交到快钱。  3、Send提交后,跳转到快钱银行列表页面,快钱测试环境的银行是模拟的银行,支付不需要用真实银行卡做测试。  4、支付完毕后,快钱会将支付结果反馈给receive页面,该功能在send页面中的bgUrl参数 ...
这几天做了服务器的php版本升级,由5.4升级到5.6.19,其他部分都没问题,结果发现https的webservice证书调用失败,报:failed to load external entity错误,代码都没动过,初步判断升级后导致的,于是本地还原到5.4 果然又好使了。 以前调用代码为: $params = array('id' => '2'); $local_cert = "./client-cer.pem"; set_time_limit(0); try{ //ini_set("soap.wsdl_cache_ena ...
Global site tag (gtag.js) - Google Analytics