- 博客(20)
- 收藏
- 关注
原创 springsecurity(08)oauth2协议
oath2协议 基本介绍 开放授权(Open Authorization,OAuth)是一种资源提供商用于授权第三方应用代表资源所有者获 取有限访问权限的授权机制。由于在整个授权过程中,第三方应用都无须触及用户的密码就可以取得 部分资源的使用权限,所以OAuth是安全开放的。 目前的版本是2.0 版本; OAuth协议:https://tools.ietf.org/html/rfc6749 比较常见的功能就是当登录一个网站的时候,可以使用qq 或微信等进行授权登录,并能够获取到qq 或微信的头像等信息。就是
2022-03-28 23:37:55
387
1
原创 Spring Security(7) jwt整合
jwt 基本介绍 jwt 全称是jsonWebToken, 简单的说就是一种能够携带信息的token。 在传统的web环境中,浏览器和后端通过记录在浏览器的cookie 和存储在服务端的session 来实现登录状态,而cookie session的方式在多分布式环境下可能带来session复制,跨域访问,单点登录等问题; 直接使用后端生成token的方式,服务端也需要存储生成的token信息,因为token是无意义的。而使用jwt ,能够携带一些必要得信息比如用户id 和用户名称等; 后端就不需要对生成的
2022-03-28 23:36:31
2308
原创 nacos ErrMsg:caused: dom name can only have these characters: 0-9a-zA-Z-._:, current:
nacos 出现此错误; nacos ErrMsg:caused: dom name can only have these characters: 0-9a-zA-Z-._:, current: com.paywharf @ 1. 检查下配置文件中nacos的 group 配置的后面是不是有空格了 2. 看下发送心跳的请求参数中 有哪些不符合要求的参数格式 大体是配置有问题 ...
2022-03-18 16:27:50
948
原创 springsecurity(06)会话管理
会话管理 简单总结下springsecurity 对会话的管理配置 配置 配置 http.authorizeRequests().sessionManagement() 做配置的相关操作 .and().sessionManagement(); 会话禁用 .sessionManagement().disable(); 会话过期配置 配置过期跳转url .invalidSessionUrl("/xx") 自定义过期策略 invalidSessionStrategy(new InvalidS
2022-03-10 23:07:58
973
原创 Spring Security(05)授权配置授权流程分析
认证控制 springsecurity 的认证过程的处理是通过过滤器进行拦截处理的,在请求前判断是否有具体的权限来做一些控制; 基本流程是通过过滤器 拿到请求信息,交给访问决策管理器(AccessDecisionManager) 判断是否有权限, 而 访问决策管理器(AccessDecisionManager) 通过投票机制判断是否有权限,对应的实现类聚合了多个 AccessDecisionVoter (访问投票器), 对于一个请求 所有的投票器可以投出自己的一票 通过 ,拒绝 或弃权,根据投票的最终结果
2022-03-09 22:56:53
5005
原创 [异常分析 ] feign 调用 java.net.UnknownHostException
使用feign调用出现连接错误,最底层异常是UnknownHostException,也就是直接使用服务名去请求了;最终解决方法,未加对应的负载实现; 加入此解决; <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-loadbalancer</artifactId> </dependency> ...
2022-03-04 18:23:04
12107
5
原创 Spring Security(04)授权配置
授权 基本说明 授权指的是给用户某个操作的权限; 常见的权限的访问控制一般是 基于rpac (Role-Based Access Control)的 访问控制; Authentication 是springsecurity 中的非常重要的接口;能够获取登录用户的信息和授权的相关信息; 而授权的信息是通过 Collection<? extends GrantedAuthority> getAuthorities(); 此方法获取 GrantedAuthority 也只有一个返回Authority
2022-03-02 22:38:19
990
原创 Spring Security(03)登录认证源码分析
Spring Security在内部维护一个过滤器链,其中每个过滤器都有特定的责任; 比如: ChannelProcessingFilter,因为它可能需要重定向到不同的协议 SecurityContextPersistenceFilter,因此可以在web请求开头的SecurityContextHolder中设置SecurityContext,并且SecurityContext的任何更改都可以复制到HttpSession当web请求结束时(准备好与下一个web请求一起使用) 等等… 登录流程解
2022-03-02 22:35:17
493
原创 NullPointerException swagger
异常信息 异常关键字 空指针 NullPointerException swagger java.lang.NullPointerException: null at springfox.documentation.swagger2.mappers.RequestParameterMapper.bodyParameter(RequestParameterMapper.java:264) at springfox.documentation.swagger2.mappers.RequestPara
2022-02-24 11:50:23
3555
原创 Spring Security(02)认证配置
前面只是简单使用了springsecurity的登录控制功能,当然实际使用中是一定需要写一些自定义配置的;本节将通过springsecurity配置一些功能: 通过数据库用户密码完成认证 使用自定义登录页面 实现记住我功能 增加验证码功能 添加配置类 配置的一个比较重要的类是 WebSecurityConfigurerAdapter 新建一个配置类去继承WebSecurityConfigurerAdapter,同时开启 @EnableWebSecurity @EnableWebSecurity publ
2022-02-23 22:38:31
949
原创 Spring Security(1)快速入门
基本介绍 Spring Security 的前身是 Acegi Security,在被收纳为Spring子项目后正式更名为Spring Security。 是一个比较常用的权限框架,主要的功能是认证和授权。同时对oauth2 也有很好的支持; 认证:认证是否是本系统的用户 授权:判断已经认证了的用户是否有某个操作的权限 官网文档: https://docs.spring.io/spring-security/reference/servlet/getting-started.html 中文文档: https
2022-02-23 22:35:17
358
原创 【教程】shardingjdbc(九)配置数据源分离
读写分离是比较常见的应用场景,读库负责写入操作,多个从库通过binlog日志同步主库的写操作。读操作都落到读库上,写操作落到写库上; 基本使用 shardingjdbc 也支持读写分离的功能,同时也支持读操作的负载均衡算法; 这里有3个数据源; db1 db2 db3 db1 是写库。db2 和db3 是读库; 每个库中都一个相同的表 1. 首先配置3个数据源 2. 配置那些库是写库,那些库是读库。 这样配置表示写操作到source-0 读操作从source-1 和sour
2022-02-19 18:31:17
1001
原创 【教程】shardingjdbc(六)广播表和绑定表
广播表配置 广播的特点是所有的接收端就能收到。所以对于这里的广播表的概念就是插入数据所有的节点都能获取到同样的数据; 一般用到比如数据字典等数据量不到,但是所有数据源都需要有相同的数据的场景 一个表配置成广播表是一定不分片的 插入时,向所有数据源广播发送sql语句 查询时,只查询其中的一个数据源 配置: 只需要在broadcastTables 下可增加多个需要广播的表信息 broadcastTables: - t_user - t_auth 绑定表 有这么一个场景,order.
2022-02-15 21:57:38
3323
4
原创 【教程】shardingjdbc(五)默认策略配置
默认数据源如何选择的 假设又有一个user表;对于user表因为数据量比较小,是不需要配置分片的; 主要的配置信息为: 1. 2个数据源 2. 只对order 进行分表; spring: application: name: shardingjdbcDemo main: allow-bean-definition-overriding: true shardingsphere: #数据源信息 datasource: #名称为dbsou
2022-02-15 11:07:37
4117
1
原创 【教程】shardingjdbc(三)选择分片策略
shardingjdbc 通过分片策略 + 分片算法完成数据分片; shardingjdbc 为我们提供了4种分片策略,我们可以根据自己的需求选择合适的策略配置,当然如果提供的都不能满足需求,也可以自定义策略,自定义策略会在后面的章节介绍。 分片策略的接口是 org.apache.shardingsphere.sharding.route.strategy.ShardingStrategy 内置分片策略 分片策略 配置key 对应的实现类 适用场景 说明 不分片 .
2022-02-14 14:54:24
726
原创 【教程】shardingjdbc (二) 开始使用
以springboot 来开始使用shardingjdbc 引入shardingjdbc starter依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId> &
2022-02-13 12:48:36
3309
原创 【教程】shadingjdbc(一)介绍和基本原理
接下来的几篇文章将通过理论和代码操作实例的方式快速入门shadingjdbc(5.0版本)。 简单介绍 shardingjdbc是一个用来分库分表的框架是shadingsphere 的一个子项目。 shadingsphere 截止目前包含了3个产品,JDBC,Proxy 和 Sidecar。shadingsphere在 2020 年已经是apache顶级项目。 官网地址:ShardingSphere shardingjdbc 主要的功能是针对支持jdbc 规范的关系型数据库做分库分表等操作。 .
2022-02-13 12:48:12
2591
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅