spring boot
文章平均质量分 79
欧阳云
这个作者很懒,什么都没留下…
展开
-
spring-security 记录笔记04 修改用户权限
我们经常会遇到这样的场景,动态权限的调整,例如张三是个部门主管,本身没有删除员工资料这个权限,但是上级比较信任张三,就想将这个功能交给张三去做。我们首先使用张三登录(xsc001):我们看后台打印出来的张三的角色权限未:当前角色未SALE_ADMIN,权限未新增和修改这时候我们需要给他新增员工删除的权限,这里有个问题是,不管直接修改数据库还是使用代码给他新增这些权限和角色,如果张三已经是登录状态的话,需要退出系统重新登录才会加载最新权限(因为张三已经登录了,spring security缓存中加原创 2021-06-04 11:03:33 · 730 阅读 · 3 评论 -
spring security配合jjwt权限管理03测试
前边写完了所有代码现在我们测试注意:我们的权限配置为:.antMatchers("/userLogin").anonymous().antMatchers(HttpMethod.GET,"/*.html").permitAll().antMatchers("/sayHello").hasAnyAuthority(“user:add”).antMatchers("/del").hasAnyAuthority(“user:del”).antMatchers("/admin/say").hasRole原创 2021-05-27 11:40:28 · 362 阅读 · 0 评论 -
spring security配合jjwt完成权限管理02
上一篇做好基础操作之后现在开始做最终开发,首先完成登录位置:登录板块首先关注AuthenticationProvider类,spring security用户认证主要是通过AuthenticationManager这个类完成的,但是但是真正进行认证的是 AuthenticationManager 中定义的 AuthenticationProvider,所以我们要使用jwt配合security而又不通过security默认登录来做登录的时候,就需用户自己来完成认证工作了import org.spring原创 2021-05-27 10:56:00 · 320 阅读 · 0 评论 -
spring security配合jjwt完成权限管理01
项目需要需要使用jwt token来完成用户状态管理以及使用spring security完成用户权限管理,所以需要将二者配合使用基础思路:1:spring security关闭自带的session管理,不需要服务器错处用户信息2:登录时调用security的用户认证模块3:security认证成功后通过jwt生成token返回给客户,并且在token中存储其他信息(例如权限信息,也可以存储在redis中)4:用户操作时通过jwt确认用户是否登录状态(token验证)、获取token携带的权限信息原创 2021-05-27 10:21:35 · 437 阅读 · 3 评论 -
spring boot 微信小程序支付SDK版本 微信支付统一下单
项目要求需要在小程序中添加微信支付的功能(微信小程序就不要想支付宝的事情了),折腾了半天,也在网上看了各位先行者的各种文章(强烈谴责一下摘取别人文章一半,当作自己文章的人,越看越头疼),记录一下这次的实验1:登录微信商户首页,完成微信商户的注册这个需要公司的一些材料(营业执照,法人,银行卡之类的),这一步是必须的,你要做微信支付,最起码得开通别人的服务才行点击产品中心-查看我的产品 这里能看到所有产品,找到你需要的就可以了,我这边只是做小程序的支付,默认开通的就够用2:关联你的微信程序和微信商户号原创 2020-07-04 17:14:49 · 2816 阅读 · 0 评论 -
spring cloud 入门13-Eureka网关——zuul01
新建项目,添加zuul组件在pom文件中添加的组件表示为 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <depe原创 2020-06-04 15:55:29 · 257 阅读 · 0 评论 -
spring cloud 入门12-Eureka断路器——Hystrix
在我们的cloud中,各个节点之间相互配合、互相支持,大家齐心协力完成工作,但是天佑不测风云,可能存在某一个微服务的某个时刻压力变大导致服务缓慢,甚至出现故障,导致服务不能响应,例如:我们的网站推出新的营销方案,注册即得200元现金,这个时候注册这个节点出现压力过大,服务响应速度变缓,进入瘫痪状态。而这个时候产品微服务响应还是正常响应。但是如果出现产品微服务大量调用用户微服务,就会出现大量的等待,如果还是持续地调用,则会造成大量请求的积压,导致产品微服务最终也不可用总结来说:如果一个服务不可用,而其他微原创 2020-05-29 15:04:35 · 165 阅读 · 0 评论 -
spring cloud 入门11-Eureka服务节点之间的调用—Feign
我们在使用spring cloud ribbon的时候已经使用RestTemplate完成了多服务节点之间的相互调用,而RestTemplate已经实现了对HTTP请求的封装处理,形成了一套模板化的调用方法,但是在实际开发过程中对于微服务的依赖不止一处,往往一个接口被多处调用使用RestTemplate并非那么友好。因为除了要编写URL,还需要注意这些参数的组装和结果的返回等操作。为了克服这些不友好,除了Ribbon外,Spring Cloud还提供了声明式调用组件——Feign。Feign是一个基于接原创 2020-05-14 10:40:00 · 584 阅读 · 0 评论 -
spring cloud 入门10—RestTemplate详解
RestTemplate详解一:get之前实验中我们已经使用过RestTemplate去实现服务访问了,我们现在可以仔细研究下这个对象针对几种不同请求类型和参数类型的服务调用实现依旧是我们刚才的实验,参与者有 Eureka Server(服务注册中心),product(服务调用者)、user(服务提供者)启动服务如上现在product中调用服务提供者的代码如下:访问结果:这里我...原创 2020-05-13 14:25:31 · 303 阅读 · 0 评论 -
spring cloud 入门9—Eureka服务节点之间的调用—Ribbon的使用02
Eureka服务节点之间的调用—Ribbon的使用02我们基础创建一个user服务节点,完成user节点的高可用,和user1节点提供的服务是一模一样的,用以达到以下的效果这样product节点在访问过程中如果user1节点出现断线或其他问题,可以快速访问user2节点,以及多user节点会形成一个集群,减缓服务压力我们配置user2如下:注意:spring.application....原创 2020-05-07 09:58:57 · 200 阅读 · 0 评论 -
spring cloud 入门7—Eureka多服务节点
Eureka多服务节点我们在将注册中心完成高可用多注册中心之后,我们需要做的就是防止某个服务节点在服务过程中发生问题,同样的我们可以将单一服务节点分布到多个个计算机上,形成多服务节点例如product微服务,分别部署在47.105.4.33和47.105.4.34两个服务器上,当47.105.4.33服务器因为本身或者网络故障导致不可提供服务时暂时由47.105.4.34对外提供服务,这样就完...原创 2020-04-30 14:01:58 · 482 阅读 · 0 评论 -
spring cloud 入门6—Eureka高可用2
Eureka高可用2在完成Eureka注册中心高可用(多注册中心)之后,我们回顾下之前的配置是这样:原创 2020-04-30 11:03:27 · 170 阅读 · 0 评论 -
spring cloud 入门4—Eureka服务注册
Eureka服务注册我们现在已经将Eureka注册中心搭建完毕,现在我们开始完成Eureka的服务注册,毕竟仅仅只有一个Eureka的注册中心是没有意义的首先我们创建一个bigsoft-product的服务向Eureka注册中心,创建工程的时候,因为要使用Eureka-clienth所以在添加了web的插件后还需要引入Eureka Discovery client自动创建工程会帮我们生产我...原创 2020-04-29 11:06:49 · 152 阅读 · 0 评论 -
spring cloud 入门3—Eureka自我保护机制
Eureka自我保护机制我们在使用Eureka的时候(尤其是做实验测试的时候)经常会看到Eureka界面冒出来这样一段红色的警示语句中文翻译如下:紧急情况!尤里卡可能不正确地声称实例在不在的情况下出现。续订小于阈值,因此不会为了安全而过期实例。出现这种情况的解释说明是:当前Eureka进入了自我保护模式其中官方解释是这样的:自我保护模式正是一种针对网络异常波动的安全保护措施,使...原创 2020-04-28 11:13:39 · 552 阅读 · 0 评论 -
spring security中自定义AccessDeniedHandler不生效的实验记录
首先编写自定的AccessDeniedHandler,代码如下:public class MyAccessDeniedHandler implements AccessDeniedHandler{ @Override public void handle(HttpServletRequest request, HttpServletResponse response, AccessDe...原创 2020-01-06 19:50:00 · 9711 阅读 · 3 评论 -
spring mvc参数接受的各种方式
spring mvc在和前端交互过程中,最重要的任务之一就是和前端交互,交互过程中我们不可避免的需要接受用户在前端需要传递给后端的参数,那我们总结一下各种接受前端参数的方式1:通过前端URL地址栏中的参数接受(restful风格接收主要用到)/** * 通过路径接受 * * @param name * @return * @throws Exception */ @...原创 2019-06-21 10:19:08 · 181 阅读 · 0 评论 -
spring mvc 利用@ExceptionHandler进行全局异常处理
在完成spring mvc 项目过程中 异常是一个不可避免的需要处理的重点例如:1):用户正在访问我们的网站,数据库服务器挂掉了,这时候肯定会产生在调用数据库过程中连接所产生的异常2):后端程序员的一个失误没有考虑到某些特定情况下产生null数据而引发的空指针异常那怎么解决这个问题呢?方案1:try { msg=userService.addUser(user); }catc...原创 2019-06-21 09:41:00 · 1937 阅读 · 0 评论 -
spring mvc 参数接收Date类型
时间类型在我们的项目中经常会遇到,最笨的办法就是先用字符串接受时间戳,然后再转为java中的Date类型那怎么能更优雅的解决这个问题呢?spring 其实已经为我们做出了很方便的处理// 获取提交参数 @PostMapping("/format/date") @ResponseBody public Map<String, Object> format(Date date,...原创 2019-06-20 15:53:34 · 2403 阅读 · 0 评论 -
spring mvc +mybatis redis缓存
缓存在一个系统是非常有必要的,最简单的说法:当你查看一个用户信息的时候(例如查看个人资料),当频繁去查询(同一个用户资料)的时候,每次都去数据库查询的话这个查询是非常没必要的。最好的做法就是第一次去数据库查询,查询结果集我们进行缓存,下一次/下几次查询的时候直接从以前查询出来的结果获取所需要的值,这样减少数据库查询对我们系统优化是非常大的(假设查询一次需要0.01秒,当很多人一起查询的时候这个数...原创 2019-06-20 10:40:33 · 177 阅读 · 0 评论