02 2021 档案

摘要:nacos中提供了NameSpace、Group、DataId,他的作用是能让我们对配置文件进行分类管理,三个能够确定唯一的配置文件。我说一点,可能不同的公司,会对这3个的定义是不同的。 比如 定义一: 1. NameSpace:区分不同的环境 2. Group:区分不同的项目或系统 3. Data 阅读全文
posted @ 2021-02-28 22:04 爱编程DE文兄 阅读(2319) 评论(0) 推荐(1) 编辑
摘要:nacos除了充当注册中心外,还能作为配置中心。并且配置在nacos上进行配置即可,不需要到github上配置。下面进行演示。 1. 创建 模块,用于读取 nacos配置中心的统一配置 2. 添加依赖 <dependencies> <!-- nacos config --> <dependency> 阅读全文
posted @ 2021-02-28 19:45 爱编程DE文兄 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-27 14:23 爱编程DE文兄 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-27 14:14 爱编程DE文兄 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1. 新建消费者模块 2. 添加依赖(参照生产者模块,nacos 的依赖都是一样的) 3. 添加配置 server: port: 83 spring: application: name: nacos-order-consumer cloud: nacos: discovery: server-ad 阅读全文
posted @ 2021-02-27 13:59 爱编程DE文兄 阅读(216) 评论(0) 推荐(0) 编辑
摘要:1. 创建生产者模块 2. 添加依赖;依赖得添加两个地方:一个父pom,一个是本模块pom <!--spring cloud 阿里巴巴--> //父pom <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-clo 阅读全文
posted @ 2021-02-27 13:33 爱编程DE文兄 阅读(138) 评论(0) 推荐(0) 编辑
摘要:为什么使用springcloud alibaba: 而springcloud alibaba 全家桶能够代替上面的所有技术还包含其他更好的技术替代方案;至于为什么叫 springcloud alibaba?因为springcloud alibaba是springcloud的一个子项目,但由阿里巴巴推 阅读全文
posted @ 2021-02-27 12:43 爱编程DE文兄 阅读(261) 评论(0) 推荐(0) 编辑
摘要:sleuth的使用很简单,只要两步,在你要追踪的服务实例上加上如下步骤: 1. 添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifa 阅读全文
posted @ 2021-02-26 23:33 爱编程DE文兄 阅读(279) 评论(0) 推荐(0) 编辑
摘要:sleuth和zipkin 都是 链路追踪所需要的两个技术,这样说:sleuth完成对数据的追踪和收集,而zipkin完成数据的展示;在springcloudF版后就不需要自己搭建zipkin的服务器了,只需要运行zipkin的jar包即可完成zipkin服务器的启动 运行jar命令:java -j 阅读全文
posted @ 2021-02-26 23:03 爱编程DE文兄 阅读(83) 评论(0) 推荐(0) 编辑
摘要:存在的问题: sleuth是springcloud关于 服务链路追踪的解决方案。 阅读全文
posted @ 2021-02-26 22:43 爱编程DE文兄 阅读(186) 评论(0) 推荐(0) 编辑
摘要:最近学习了阳哥的springcloud教程,很是牛逼!但好像也有一些点没说明白,比如好像没提及消息总线和消息驱动的区别,毕竟都是跟 mq 挂钩 嘛。下面也谈谈我的理解吧 1. 消息总线:我对他的理解 就和配置中心,注册中心一个级别的,类似消息中心、消息总部那个味道;所有微服务实例的消息收发都找消息总 阅读全文
posted @ 2021-02-26 22:06 爱编程DE文兄 阅读(642) 评论(0) 推荐(0) 编辑
摘要:如果我们没有给服务实例进行分组;当消费者A由于某些原因故障下线了,而此时生产者发送的消息,A即使上线了也收不到,意味着消息丢失了。 我们希望即使故障宕机了,服务再次上线能够获取之前未拿到的消息,这个要解决其实很简单。只要给服务实例进行分组即可,因此分组的好处有两个:重复消费能避免 和 服务实例能获取 阅读全文
posted @ 2021-02-26 21:55 爱编程DE文兄 阅读(200) 评论(0) 推荐(0) 编辑
摘要:首先本人还没有学习过rabbitmq,还不太知道其exchange和queue的存储和消费的机制。下面是个人的理解,日后要是学习了rabbitmq再来更正 springcloud-stream目前案例是使用rabbitmq作为支持,现在默认的destination是topic形式,不同的微服务实例会 阅读全文
posted @ 2021-02-26 21:46 爱编程DE文兄 阅读(417) 评论(0) 推荐(0) 编辑
摘要:现在来构建消费者模块,发送消息到 rabbitmq 1. 创建模块 2. 添加依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web< 阅读全文
posted @ 2021-02-26 16:50 爱编程DE文兄 阅读(262) 评论(0) 推荐(0) 编辑
摘要:现在来构建生产者模块,发送消息到 rabbitmq 1. 创建模块 2. 添加依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web< 阅读全文
posted @ 2021-02-26 16:42 爱编程DE文兄 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-26 14:57 爱编程DE文兄 阅读(152) 评论(0) 推荐(0) 编辑
摘要:标准mq的消息收发所涉及的对象: 为什么使用springcloud-stream: springcloud-stream为什么可以统一底层差异: 在binder这里,input代表消费者,output代表生产者 阅读全文
posted @ 2021-02-26 13:14 爱编程DE文兄 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-26 12:41 爱编程DE文兄 阅读(131) 评论(0) 推荐(0) 编辑
摘要:现在的mq产品主流有4中:rabbitmq,rocketmq,activemq,kafka;有时候很意外的是:学的其中一个,公司用的又是另外一个,导致学习成本提高。有或者是 业务服务使用rabbitmq,而数据库后台使用kafka,整个项目使用了2种mq,可能会导致切换困难,维护成本高等因素。 我们 阅读全文
posted @ 2021-02-26 12:39 爱编程DE文兄 阅读(118) 评论(0) 推荐(0) 编辑
摘要:上一篇是通知全部的服务实例去更新配置,那现在的需求是:通知一部分,另一部分不通知。实现如下: 1. 只要发送的请求是: 重点是${destination},${destination} 就是 由 服务名:端口 组成,比如: 上面表示 只通知 服务名为config-client ,端口为3355 的服 阅读全文
posted @ 2021-02-25 22:59 爱编程DE文兄 阅读(247) 评论(0) 推荐(0) 编辑
摘要:bus支持rabbitmq和kafka,因此需要其中一个mq服务器启动起来。看个人了。下面实现一次post请求,然后全局广播给其他微服务实例 1. 给 注册中心config 和 服务实例 添加 springcloud-bus-rabbitmq的依赖,如下: <!-- 添加消息总线RabbitMQ支持 阅读全文
posted @ 2021-02-25 22:52 爱编程DE文兄 阅读(255) 评论(0) 推荐(0) 编辑
摘要:上一篇学习了springcloud-config的动态刷新,会存在问题:当服务过多,需要手动发送的post也多;有人说写个脚本for循环不就好了,好像也可以。但是如果要精确哪些发送post哪些不发送就不是那么容易了。 上述的问题,springcloud-bus能够解决,一般config和bus都会在 阅读全文
posted @ 2021-02-25 21:23 爱编程DE文兄 阅读(189) 评论(0) 推荐(0) 编辑
摘要:配置的读取是:服务--> 配置中心--> github;当github的配置发生改变,配置中心是能实时监控到并读取的,但是我们的服务并没有这个功能,他只是在启动的时候读取一次而已,并没有监控配置中心。目前我就要解决这个问题,步骤如下: 1.在 服务 添加下面的依赖,该依赖用于监控自身的变化 <dep 阅读全文
posted @ 2021-02-25 20:54 爱编程DE文兄 阅读(112) 评论(0) 推荐(0) 编辑
摘要:1.新建一个模块,用于读取配置中心的配置 2.添加依赖 <dependencies> <!-- 若要读取configServer的配置信息,需要添加configCilent的依赖 --> <dependency> <groupId>org.springframework.cloud</groupId 阅读全文
posted @ 2021-02-25 20:06 爱编程DE文兄 阅读(606) 评论(0) 推荐(0) 编辑
摘要:新建一个模块作为配置中心。具体步骤如下: 1. 新建一个模块 2. 加入依赖: 《主要是这个依赖》 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</ar 阅读全文
posted @ 2021-02-25 16:36 爱编程DE文兄 阅读(127) 评论(0) 推荐(0) 编辑
摘要:面临问题: config介绍: 这里大家可能会好奇,为什么要去读取github上面的配置?直接在config上不香吗?其实实际在工作中,配置的修改一般由运维人员或数据库管理员等来做,并且有时候他们也没有权限能去修改configServer上的配置,但他们能通过修改外部配置如github完成配置的更新 阅读全文
posted @ 2021-02-25 14:42 爱编程DE文兄 阅读(68) 评论(0) 推荐(0) 编辑
摘要:由于官方提供的路由过滤器太多,只能自己去查;下面是使用官方过滤器的用法: 在实际开发中,用自己自定义的过滤器比较多;比如下面作为参考: @Component public class MyGlobalFilter implements GlobalFilter, Ordered { @Overrid 阅读全文
posted @ 2021-02-25 14:25 爱编程DE文兄 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-25 13:57 爱编程DE文兄 阅读(133) 评论(0) 推荐(0) 编辑
摘要:模板功能 psvm 可生成 main 方法 sout System.out.println() 快捷输出 soutp System.out.println("方法形参名 = " + 形参名) soutv System.out.println("变量名 = " + 变量) soutm System.o 阅读全文
posted @ 2021-02-24 16:07 爱编程DE文兄 阅读(421) 评论(0) 推荐(0) 编辑
摘要:在gateway的yml配置会有下面这个配置: spring: cloud: gateway: routes: - id: payment_routh uri: lb://cloud-payment-service predicates: - Path=/payment/get/** 主要看pred 阅读全文
posted @ 2021-02-24 15:42 爱编程DE文兄 阅读(1548) 评论(0) 推荐(0) 编辑
摘要:之前学习GateWay进行请求的转发,URI是固定的,也就是在单机的情况下。不过实际开发中,服务很多时候是集群,因此URI就不能写固定的IP了。而动态路由的方式能够实现对集群的负载均衡转发。 动态路由:说简单点,根据请求地址,从注册中心选择 合适的服务实例的列表,根据负载均衡的策略,从中选择一个实例 阅读全文
posted @ 2021-02-24 14:33 爱编程DE文兄 阅读(1091) 评论(0) 推荐(0) 编辑
摘要:GateWay路由配置方式有两种:yml 和 配置类,这东西看人选择 1. yml(略) 2. 配置类,参考如下: @Configuration public class GateWayConfig { @Bean public RouteLocator customRouteLocator(Rou 阅读全文
posted @ 2021-02-24 14:07 爱编程DE文兄 阅读(713) 评论(0) 推荐(0) 编辑
摘要:话不多说,直接开干。 1.创建 网关模块。 2.添加依赖 <dependencies> <!-- gateway --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starte 阅读全文
posted @ 2021-02-24 13:53 爱编程DE文兄 阅读(146) 评论(0) 推荐(0) 编辑
摘要:GateWay概念: 1.路由: 2.断言:请求路径的匹配规则,若匹配则进入到断言所在的路由 3.过滤器: 阅读全文
posted @ 2021-02-24 13:16 爱编程DE文兄 阅读(244) 评论(0) 推荐(0) 编辑
摘要:GateWay特性: GateWay和Zuul的区别: Zuul1.x模型: 阅读全文
posted @ 2021-02-24 12:52 爱编程DE文兄 阅读(1309) 评论(1) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-24 12:25 爱编程DE文兄 阅读(116) 评论(0) 推荐(0) 编辑
摘要:Hystrix图形化Dashboard一般是用来监控 被调用方/服务提供者 的,监控其被调用的情况。因此在提供方得加入下面的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta 阅读全文
posted @ 2021-02-24 12:00 爱编程DE文兄 阅读(144) 评论(0) 推荐(0) 编辑
摘要:Hystrix也能做对服务的监控,观察服务被调用的情况。下面是步骤: 1.创建一个模块,用于监控其他服务 2.添加依赖 <dependencies> # 该依赖是hystrix核心监控的依赖 <dependency> <groupId>org.springframework.cloud</group 阅读全文
posted @ 2021-02-24 11:42 爱编程DE文兄 阅读(82) 评论(0) 推荐(0) 编辑
摘要:Hystrix工作流程图: 上面的文字描述只是当前的个人理解,可能会存在一定的不足。 阅读全文
posted @ 2021-02-24 11:06 爱编程DE文兄 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-23 23:27 爱编程DE文兄 阅读(59) 评论(0) 推荐(0) 编辑
摘要:服务熔断使用很简单,在可能会出现故障的方法上加上@HystrixCommand,并设置一些属性,如下: // 服务熔断 @HystrixCommand(fallbackMethod = "paymentCircuitBreaker_fallback",commandProperties ={ @Hy 阅读全文
posted @ 2021-02-23 23:12 爱编程DE文兄 阅读(128) 评论(0) 推荐(0) 编辑
摘要:断路器有3中状态: 1.open:熔断状态。断路器已启动熔断,请求统一拒绝,只会返回降级的方法用于提示 2.halfOpen:半开状态,此时服务能处理一定量的请求,会尝试 从 降级处理 切换到 主逻辑上,如果请求还是失败,则状态回归open,若请求正常则close 3.close:无熔断状态。此时服 阅读全文
posted @ 2021-02-23 22:39 爱编程DE文兄 阅读(128) 评论(0) 推荐(0) 编辑
摘要:在上一篇说了Hystrix的降级使用,但这样会出现两个问题: 1.代码膨胀。每个方法都得需要有一个降级方法来处理,代码会变得很多。 2.代码耦合度高。降级方法是写在和添加了@HystricCommd方法同一个类里面,耦合度高 先解决第一个问题,只要我们定义一个统一的降级方法处理就行了,如下: 1.书 阅读全文
posted @ 2021-02-23 21:54 爱编程DE文兄 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一般要进行降级的情况可以分为:调用方异常 和 被调用方异常 被调用方的降级保护,步骤如下: 1.在方法上添加@HystrixCommand注解,设置当该方法异常时指定哪个方法作为反馈,还可设置本方法的超时时间,具体如下: @HystrixCommand(fallbackMethod = "payme 阅读全文
posted @ 2021-02-23 20:44 爱编程DE文兄 阅读(239) 评论(0) 推荐(0) 编辑
摘要:当使用Jmeter进行高并发的接口测试;在同一服务器,假设200个线程循环100次到一个A接口,此时访问B接口会发现也会发送延迟卡顿的现象,那是因为线程和资源目前集中在处理A接口,对B接口的请求就会延迟,这也就是在高并发的情况下,一个接口出现问题会影响到其他接口或服务的正常运行。 阅读全文
posted @ 2021-02-23 16:19 爱编程DE文兄 阅读(446) 评论(0) 推荐(0) 编辑
摘要:Hystrix主要能解决三个问题:服务降级、服务熔断、服务限流;一般用在调用端,比如表现层去调用服务层,常见会用在表现层,但是服务层也行。 1.服务降级 服务降级是:因为某些原因,服务调用出现故障,本次操作以失败告终,但是会有备份的解决方案,比如向友好返回一个友好的提示告诉用户等待再试,此时服务端问 阅读全文
posted @ 2021-02-22 14:35 爱编程DE文兄 阅读(212) 评论(0) 推荐(0) 编辑
摘要:分布式系统面临的问题: 什么是服务雪崩? Hystrix是什么? Hystrix就能解决上述说到服务雪崩问题,做到及时止损,做出及时的预期或备选响应,最重要的是不要影响其他请求或服务器的运行。 阅读全文
posted @ 2021-02-22 14:01 爱编程DE文兄 阅读(118) 评论(0) 推荐(0) 编辑
摘要:我们使用OpenFeign调用客户端接口,继而调用服务端接口,这个过程很抽象,并不能看到一些细节和信息,而OpenFeign提供了日志功能,专门来打印这个调用的过程中的一些有效信息; openfeign日志界别: openfeign日志的使用: 1.创建一个feign的配置类: 2.在配置文件开启f 阅读全文
posted @ 2021-02-21 23:35 爱编程DE文兄 阅读(158) 评论(0) 推荐(0) 编辑
摘要:OpenFeign默认是1秒的超时时间,如果过了这个时间,被调用端还没有完成响应,那调用端就会报错。当然我们可以手动设置这个超时时间,如下: ribbon: ReadTimeout: 5000 # 这是调用端和被调用端建立连接的超时时间,超过这个时间算超时 ConnectTimeout: 5000 阅读全文
posted @ 2021-02-21 23:08 爱编程DE文兄 阅读(454) 评论(0) 推荐(0) 编辑
摘要:1.创建模块 2.引入依赖 <dependencies> <dependency> <groupId>cn.aib.springcloud</groupId> <artifactId>springclud-api-common</artifactId> <version>1.0-SNAPSHOT</ 阅读全文
posted @ 2021-02-21 22:52 爱编程DE文兄 阅读(129) 评论(0) 推荐(0) 编辑
摘要:下面开始对上面的话进行一个总结和解读 如果直接使用Eureka+Ribbon+RestTemplate完成服务调用那是没有任何问题的。Ribbon提供负载均衡算法决定哪台服务器实例提供服务,RestTemplate完成真正的调用。但这样有一个不好的地方,就是当多个消费方调用同一个接口时,消费方都需要 阅读全文
posted @ 2021-02-21 21:48 爱编程DE文兄 阅读(786) 评论(0) 推荐(0) 编辑
摘要:接下来是跟着阳哥进行算法的手写。先说一下看前想法:起初我以为 阳哥 是 自定义 一个类 去实现 ILoadBalancer接口,然后在实现类里面实现算法逻辑。然后发现我错了,根本就不是那么回事,也就是手写的轮询代码跟 底层代码压 没啥联系,单纯地根据轮询公式 拿到 哪台服务实例下标,然后拿到该服务器 阅读全文
posted @ 2021-02-21 21:20 爱编程DE文兄 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-21 20:10 爱编程DE文兄 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-02-21 20:02 爱编程DE文兄 阅读(107) 评论(0) 推荐(0) 编辑
摘要:Ribbon默认是轮询,如果想换种负载均衡的方式,步骤如下: 1.创建一个自定义配置类,参考如下: @Configuration public class myRule { @Bean public IRule irule(){ return new RandomRule(); } } 注意:该配置 阅读全文
posted @ 2021-02-21 16:49 爱编程DE文兄 阅读(137) 评论(0) 推荐(0) 编辑
摘要:1.在本地目录下关联远程repository : git remote add origin git@github.com:git_username/repository_name.git 2.取消本地目录下关联的远程库: git remote remove origin 阅读全文
posted @ 2021-02-18 19:55 爱编程DE文兄 阅读(2668) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/hanckco/article/details/104438955 阅读全文
posted @ 2021-02-18 19:48 爱编程DE文兄 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Jenkins是一个集构建、发布、部署为一体的综合性工具,DevOps中常提到CI/CD(自动化构建、部署),但它本身是不提供构建、发布和部署的功能,而是可以在其上安装插件的方式与其他构建、发布、部署工具形成连动,它更像是一个集成能力特别强的调度、协调工具,借助于它的这种特性,现在通常的做法是用户提 阅读全文
posted @ 2021-02-18 13:38 爱编程DE文兄 阅读(112) 评论(0) 推荐(0) 编辑
摘要:以在IDEA里面写java项目为例 一个项目你写完或者进行一次迭代了。最后毕竟是要部署到服务器上或者给别人用的,你第一不可能让所有要运行的人都装个IDEA,第二不可能把源代码公布给所有人(编译后的字节码文件是人看不懂的)。所以你需要把你的代码发布成二进制形式,让其它环境方便运行,这就是打包。 阅读全文
posted @ 2021-02-18 13:27 爱编程DE文兄 阅读(364) 评论(0) 推荐(0) 编辑
摘要:其实很早之前就学习过git了,不过很久没用就生疏了,对一些工作区,暂存区,本地库的概念就陌生了,现在也是把一些新手常常误解以及认知的错误讲一下。 一.github远程库的目录结构 比如我们以 jquery为案例,看人家的目录结构: 相信大家刚开始看到这种目录结构有点不知所措,啥东西啊这是? 大家要记 阅读全文
posted @ 2021-02-16 15:09 爱编程DE文兄 阅读(73) 评论(0) 推荐(0) 编辑
摘要:在springsecurity的核心配置类可以配置的东西特别多,比如下面最常见的: 1.配置用户名和密码 2.配置登录界面,登录提交的路径,登录成功的路径 3.配置认证出现异常的路径 4.配置退出路径,退出成功路径 5.配置哪些路径是可直接访问和需要认证访问的 6.配置认证成功后,需要哪些权限或者角 阅读全文
posted @ 2021-02-07 14:21 爱编程DE文兄 阅读(569) 评论(0) 推荐(0) 编辑
摘要:当用户登录后再次访问时,我们需要拿到用户的token,去查redis的用户权限,并赋予用户权限。差不多就这个过程,但很多步骤,springsecurity都封装好了,下面写一个授权过滤器,主要重写一个方法doFilterInternal,该方法的目的的话就是获取redis中用户的权限列表,并设置到一 阅读全文
posted @ 2021-02-07 13:57 爱编程DE文兄 阅读(544) 评论(0) 推荐(0) 编辑
摘要:之前学习过一个过滤器UsernamePasswordAuthenticationFilter,里面有3个重要的方法,如下: 1.attemptAuthentication:接收表单传过来的用户名和密码,并封装到一个类中返回 2.successfulAuthentication:认证成功调用的方法 3 阅读全文
posted @ 2021-02-07 13:38 爱编程DE文兄 阅读(418) 评论(0) 推荐(0) 编辑
摘要:在springboot加入springsecurity后,关于用户认证和授权这块就全权交给springsecurity,用户认证和授权难免会涉及到token相关的东西,比如说用户登录成功,为其创建一个token,当用户退出的时候,将token移除等等操作。基于springsecurity的接口,我们 阅读全文
posted @ 2021-02-05 21:04 爱编程DE文兄 阅读(650) 评论(0) 推荐(0) 编辑
摘要:springsecurity的认证授权有两种方式:基于session和基于token。由于token的使用会比较多,下面讲token的这种方式。 整个大概的流程是这样的: 1.用户访问服务器进行登录,服务器返回登录页面给用户 2.用户填写用户名和密码,并提交给服务器 3.服务器收到后,由spring 阅读全文
posted @ 2021-02-05 16:09 爱编程DE文兄 阅读(3077) 评论(0) 推荐(0) 编辑
摘要:springsecurity的防CSRF的功能是开启的,一般也建议开启。 CSRF的原理 CSRF攻击原理比较简单,例如Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 阅读全文
posted @ 2021-02-05 15:38 爱编程DE文兄 阅读(662) 评论(0) 推荐(0) 编辑
摘要:springsecurity实现自动登录很简单,人家让我们配置一下就好了 1.首先得要有数据源 和 操作数据库的对象,只有这两个才能往表中写token;在配置类中注入数据源,在容器中加入 操作数据库的对象 @Configuration public class SecurityConfig exte 阅读全文
posted @ 2021-02-04 17:03 爱编程DE文兄 阅读(625) 评论(0) 推荐(0) 编辑
摘要:自动登录是:当我们第一次登录后,下次登录网站时不需要跳转到登录页面进行用户名和密码的填写,可直接以用户的身份登录网站。 springsecurity的自动登录的原理图如下: 阅读全文
posted @ 2021-02-04 16:13 爱编程DE文兄 阅读(204) 评论(0) 推荐(0) 编辑
摘要:1.想要用户注销,就在配置类的configure方法,加上一行代码即可,如下: protected void configure(HttpSecurity http) throws Exception { http.logout().logoutUrl("/logout").logoutSucces 阅读全文
posted @ 2021-02-03 20:58 爱编程DE文兄 阅读(290) 评论(0) 推荐(0) 编辑
摘要:当用户服务某个资源,由于没有相应的权限,我们希望给他返回一个友好的页面。步骤如下: 1.在配置类的configure(HttpSecurity http)加上下面的一条语句即可,表示当没有权限时,跳转到/unAuth.html,当然了,在static目录或者其他静态目录下得有unAuth.html页 阅读全文
posted @ 2021-02-03 20:30 爱编程DE文兄 阅读(198) 评论(0) 推荐(0) 编辑
摘要:之前是使用配置类的方式来资源URL进行权限的限制,现在可以使用注解的方式来限定。 1.@Secured:限定某个方法只有是指定的角色才能访问,如下: 只有是sale或者manager角色才能访问该方法。 记住,前提是得开启security注解才行,如下: @EnableGlobalMethodSec 阅读全文
posted @ 2021-02-03 20:20 爱编程DE文兄 阅读(510) 评论(0) 推荐(0) 编辑
摘要:springsecurity的第一道防线是 用户认证,即需要查看用户是否符合系统中合法的用户,而第二道防线呢就是我们的用户授权,即使用户认证通过了,如果对访问的URL没有相应的权限,也是访问不了。 如果我们想要给用户进行授权或者赋予某个角色,可参考下面的代码: @Override public Us 阅读全文
posted @ 2021-02-03 14:38 爱编程DE文兄 阅读(201) 评论(0) 推荐(0) 编辑
摘要:springsecurity是默认对所有请求都要认证的,并且是有默认的认证页面的。但很多时候,页面是需要我们自己的页面,还有某些请求我们希望是不认证的,直接放行。而springsecurity也提供了方式让我们做到,如下: @Configuration public class SecurityCo 阅读全文
posted @ 2021-02-03 12:33 爱编程DE文兄 阅读(398) 评论(0) 推荐(0) 编辑
摘要:核心代码如下: @Service public class MyUserDatailService implements UserDetailsService { @Autowired private UsersMapper usersMapper; @Override public UserDet 阅读全文
posted @ 2021-02-03 11:36 爱编程DE文兄 阅读(262) 评论(0) 推荐(0) 编辑
摘要:接下来介绍下两个接口:UserDatailsService 和 PasswordEncoder ,下面依次来介绍: 我们需要实现这个接口,接口中让我们实现一个方法,而我们操作数据库查找用户名和密码的代码就写在这个方法里面。 来,我们来梳理之前的知识,之前讲过一个类:UserNamePasswordA 阅读全文
posted @ 2021-02-02 16:03 爱编程DE文兄 阅读(415) 评论(0) 推荐(0) 编辑
摘要:第一种方式: 第二种方式: 第三种方式:该方式是最实用的,毕竟用户名和密码是得查看数据库才能判断的,而不是预先设置好的。 1.创建一个配置类 @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter 阅读全文
posted @ 2021-02-02 16:01 爱编程DE文兄 阅读(583) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2021-02-02 11:07 爱编程DE文兄 阅读(88) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示