![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
security
文章平均质量分 69
ldcaws
这个作者很懒,什么都没留下…
展开
-
springcloud+nacos+gateway+oauth2+jwt再相聚
在springcloud微服务架构下,如何进行统一的认证、鉴权,一直是大家非常关心的问题,下面对微服务架构下的认证和鉴权继续聊聊,一是自己的再次思考总结,二是希望对小伙伴有所帮助。在微服务中,不应该把重复校验认证和鉴权的功能集成到每个业务服务中,应该在认证服务做统一认证,在网关中做统一校验,这样才是优雅的微服务架构的安全解决方案。下面搭建网关服务,它将作为oauth2的资源服务、客户端服务使用,对访问业务服务的请求进行统一的校验认证和鉴权,校验通过进行动态路由。原创 2022-12-30 19:00:00 · 2292 阅读 · 14 评论 -
springboot+security自定义认证异常和授权异常
如果是springboot+security项目,并且定义了全局异常,那上面的授权异常AccessDeniedException及子类和认证异常AuthenticationException及子类都会优先被全局异常执行,导致security配置的异常处理不起作用,主要原因是执行先后的问题,spring请求中各组件执行顺序如下:Controller》Aspect》ControllerAdvice》Interceptor》Filter。1、Spring Security异常。2、自定义认证异常和授权异常。原创 2022-12-28 19:00:00 · 2343 阅读 · 3 评论 -
oauth2中token端点跨域配置
跨域请求时会先发送OPTIONS请求,而OPTIONS请求头并不会携带认证信息,需要放开。场景:访问oauth/token接口时,在认证授权服务中已添加了springboot2.7版本的跨域配置,且在WebSecurityConfig和ResourceServerConfig中均已开启去允许跨域,还是发生了跨域。其实,还可以采用在webSecurity中ignore请求类型为options的请求,并在AuthorizationServerConfig中的endpoints设置跨域的配置。原创 2022-10-22 21:30:00 · 1432 阅读 · 0 评论 -
springcloud微服务中跨域配置
当业务微服务集成了security+oauth2,会出现跨域失效的情况,需要在WebSecurityConfig配置类和ResourceServerConfig配置类中开启CORS,如下。当gateway网关微服务集成了security+oauth2,又会出现跨域问题,则需要在ResourceServerConfig配置类中加入跨域过滤器,如下。当gateway网关服务设置了跨域,业务微服务也设置了跨域,则需要在网关的配置里加上重复请求头,如。注:需要去掉业务微服务的跨域配置,防止多次跨域配置。原创 2022-10-20 22:08:24 · 6160 阅读 · 2 评论 -
springcloud+nacos+gateway+oauth2小聚会
在微服务工程中,Nacos作为目前主流的注册中心和配置中心,Spring Cloud Gateway作为目前主流的网关,下面引入spring security+oauth2+jwt作为认证和授权中心,进行简单的聊聊。原创 2022-09-05 21:16:47 · 2139 阅读 · 0 评论 -
spring-security-oauth2之WebSecurityConfigurerAdapter浅析
void configure(HttpSecurity http) 这个是我们使用最多的,用来配置 HttpSecurity。WebSecurityConfigurerAdapter继承自WebSecurityConfigurer,在Spring Boot 中的自动配置实际上是通过自动配置包下的 SecurityAutoConfiguration 总配置类上导入的 Spring Boot Web 安全配置类 SpringBootWebSecurityConfiguration 来配置的。...原创 2022-09-01 20:30:00 · 2133 阅读 · 0 评论 -
spring-security-oauth2之AuthorizationServerConfigurerAdapter浅析
AuthorizationServerEndpointsConfigurer其实是一个装载类,装载Endpoints所有相关的类配置,如AuthorizationServer、TokenServices、TokenStore、ClientDetailsService、UserDetailsService,也就是说进行密码验证的一些工具类或服务类,均在这个地方进行注入。JwtAccessTokenConverter是用来生成token的转换器,而token令牌默认是有签名的,且资源服务器需要验证这个签名。..原创 2022-09-01 19:30:00 · 6766 阅读 · 0 评论 -
权限系统漫谈
权限系统,在应用开发中是一种不可缺少的系统,主要进行权限的控制和管理,典型的权限设计方案有RBAC,常见的权限框架有shiro和security,下面对相关内容进行简单的聊聊。在RBAC模型中,有3个基础组成部分,分别是用户、角色和权限。RBAC通过定义角色的权限,并对用户授予某个角色从而控制用户的权限,实现了用户和权限的逻辑分离,方便了权限的管理。RBAC模型(Role-Based Access Control:基于角色的访问控制),通过角色关联用户,角色关联权限,这种间接的方式赋予用户的权限,如下。原创 2022-08-24 22:43:32 · 680 阅读 · 0 评论 -
springboot+sucurity相约去看电影之登录验证码
登录验证码是非常典型的需求,网上也有很多成熟的解决方案。那么如何在security中添加登录验证码?对于刚接触security的程序猿还是有一点挑战的,默认情况下,security已自带登录认证逻辑,只需简单配置即可,所以添加登录验证码则需要在已有的认证逻辑中加入登录验证码的逻辑。验证码工具类public class VerifyCodeUtil { private int width = 100;// 生成验证码图片的宽度 private int height = 50;// 生成验原创 2022-01-06 14:19:18 · 475 阅读 · 0 评论 -
springboot+security相约去吃饭之前后端分离模式
springboot集成security分为前后端分离模式和前后端不分离模式,下面对目前流行的前后端分离模式进行分析。目前登录有两个方向,传统的通过session来记录用户认证信息的方式是一种有状态登录,而通过JWT的方式则代表了一种无状态登录。有状态登录,是指服务端记录每次会话的客户端信息,从而识别客户端身份,根据客户端身份进行请求的处理。如tomcat中的session,用户登录后,用户信息保存在服务端的session中,并给用户一个cookie值,记录对应的session,然后下次请求,用户携带c原创 2022-01-05 10:17:56 · 488 阅读 · 0 评论 -
springboot+security第一次约会
security作为安全框架,随着springboot、springcloud的火热,也逐渐回到主跑道上,逐渐占住优势,一扫之前配置繁琐、门槛较高的问题。应用security安全框架,主要是引入认证和授权两个机制,通俗点讲,认证就是我们常说的登录、授权就是权限鉴别,验证请求是否具备相应的权限。spring security支持多种不同的认证方式,包括如下:HTTP BASIC authentication headers:基于IETF RFC 标准。HTTP Digest authenticatio原创 2022-01-04 21:36:29 · 317 阅读 · 0 评论