
后端框架学习
文章平均质量分 60
悠玄烛远
一页,一书,纸上觉深浅。半杯,半盏,饮中悟乾坤。
展开
-
【EasyExcel】excel的导入导出基本用法
在java开发中,我们时常会遇到,excel数据的导入导出,EasyExcel 就是一个能够帮助我们快速导入导出excel文件的工具,他提供了标准的上传文件工具,以及一些文件解析工具。原创 2022-10-24 11:43:55 · 2104 阅读 · 0 评论 -
【shiro-安全框架】入门基础学习
Apache Shiro是Java 的一个安全框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在]avaSE环境,也可以用在]avaEE环境。Shiro可以帮助我们完成:认证【登陆】、授权【权限】、加密【密码】、会话管理、与Web集成、缓存等。}原创 2022-09-20 20:01:41 · 1320 阅读 · 0 评论 -
【Spring Security】安全框架学习(十四)
我们之前的权限控制都是在对应的资源上面,加上注解去进行一个权限的配置。实际上spring security还允许我们在配置类中进行配置权限。例如我们之前就对login接口进行了一个相应的权限控制。原创 2022-09-12 10:04:47 · 1200 阅读 · 0 评论 -
【Spring Security】安全框架学习(十三)
我们也可以定义自己的权限校验方法,在@PreAuthorize注解中使用我们的方法。我们可以发现直接在@PreAuthorize内写方法名就可以用默认提供的方法,那么怎么才能直接通过方法名调用自己对象的方法呢。实际上涉及到了SpEL表达式,这门语言相对比较冷门,只需要了解即可。SpEL——Spring表达式语言我们首先要创建一个类,在类里面定义自己的方法,方法的定义格式参考security的格式就可以了。原创 2022-09-12 09:35:41 · 828 阅读 · 0 评论 -
【Spring Security】安全框架学习(十二)
这个就是我们之前在filter中存入到holder当中的对象,即UsernamePasswordAuthenticationToken,可以知道这里userAuthorities拿到了我们的权限对象,最终就调用到了我们自己在LoginUser类中重写的方法里去。但是回到hasAnyAuthorityName 方法中,传进去的prefix前缀的值实际上是null,也就是说实际上并没有做一个拼接,没有前缀,最终的结果也就是原本的字符串。但是我们并不用关心它在内部的调用链路,只需要关注核心的实现代码就可以了。原创 2022-09-06 16:45:42 · 1883 阅读 · 2 评论 -
【Spring Security】安全框架学习(十一)
本身springboot就自带了解决跨域问题的方法,但是光用springboot的那一套显然是不够用的,我们现在的资源请求都是交给spring security帮助我们进行管理、保护。专业的说法叫 预检请求,如果一个请求时非简单请求,会提前发送一个OPTIONS的预检请求,来决定是否发送真实请求,可以去看看HTTP CORS规则文档。浏览器出于安全的考虑,使用XMLHttpRequest对象发起HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。原创 2022-09-04 10:56:16 · 401 阅读 · 0 评论 -
【Spring Security】安全框架学习(十)
我们还希望在认证失败或者是授权失败的情况下也能和我们的接口一样返回相同结构的json,这样可以让前端能对响应进行统一的处理。要实现这个功能我们需要知道Spring Security的异常处理机制。在Spring Security中,如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕获到。在ExceptionTranslationFilter中会去判断是认证失败还是授权失败出现的异常。原创 2022-09-03 11:09:14 · 598 阅读 · 0 评论 -
【Spring Security】安全框架学习(九)
一个权限对应多个用户,一个用户也会有多个权限,看起来是一个多对多的关系,但是从用户的角度看是一个一对多的关系。要注意的是我们查询出来的结果需要去重,原因是因为每一个用户可以有多个角色,而每一个角色可能拥有的权限会有相同的地方,所以要用distinct来去重。在开发的过程中,给一个用户挨个赋予权限显然比较麻烦,所以我们可以建立起一个角色表,直接给用户赋予角色信息,即可将对应的权限通过角色间接的给用户。同时,一个用户可以有多个角色,一个角色也有多个用户,这样的多对多的关系同样可以用一个用户角色关联表关联起来。原创 2022-09-02 09:30:34 · 360 阅读 · 0 评论 -
【Spring Security】安全框架学习(八)
在上面的代码中,我们可以看到一个泛型 SimpleGrantedAuthority ,它是由Spring提供的,但是我们在存储进redis中的时候,为了安全考虑,默认情况下是不会把SimpleGrantedAuthority进行序列化存入的,如果不做操作的话,java会报异常。所以我们还需要在后台进行用户权限的判断,判断当前用户是否有相应的权限,必须基于所需权限才能进行相应的操作。这我们项目中主要采用的方式是基于注解的。的,前后端分离项目很少使用,所以我们可以使用注解去指定访问对应的资源所需的权限。原创 2022-09-02 09:28:14 · 2619 阅读 · 0 评论 -
【Spring Security】安全框架学习(七)
我们只需要定义一个登陆接口,然后获取SecurityContextHolder中的认证信息,删除redis中对应的数据即可。我们在这里的注销相当于只是让原来的token失效了, 重新登录时,如果原来的token没有过期就不会生成新token。文件中,添加相应的代码。中提供给前端对应的api。...原创 2022-08-28 10:11:11 · 426 阅读 · 0 评论 -
【Spring Security】安全框架学习(六)
一个是已认证的,一个是未认证的,结构不一样;同时,一个是登录,一个是验证两个场景,不能混在一起看。可以这么理解,之前的是登陆时验证,后面的这个是登录后访问验证。上面的代码与之前登陆的代码相比较,可以发现为什么之前UsernamePasswordAuthenticationToken存的是username和password,而这里存的是loginUser和null呢?我们需要自定义一个过滤器,这个过滤器会去获取请求头中的token,对token进行解析取出其中的userid。方法内部加上如下代码即可实现。..原创 2022-08-28 09:45:23 · 500 阅读 · 0 评论 -
【Spring Security】安全框架学习(五)
接下我们需要自定义登陆接口,然后让SpringSecurity对这个接口放行。在 2.3.2 准备工作中我们提供了一个jwt工具类,里面有3种重载形式,详情参考之前的源码。如果要使用jwt工具类,jdk1.8以上的版本可能需要导入这三个包 jjwt-api, jjwt-impl, jwt-jackson,jdk1.8一般来说没必要导。在接口中我们通过AuthenticationManager的authenticate方法来进行用户认...原创 2022-08-27 20:46:25 · 425 阅读 · 0 评论 -
【Spring Security】安全框架学习(四)
从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。我们自己的UserDetailsService可以从数据库中查询用户名和密码。默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password。它会根据id去判断密码的加密方式。...原创 2022-08-27 20:44:12 · 345 阅读 · 0 评论 -
【Spring Security】安全框架学习(三)
②获取token中的userId,从redis中获取用户信息,存入SecurityContextHolder中。思考:Jwt认证过滤器中从获取到了userId后,怎么获取到完整的用户信息?登陆:①自定义登陆的接口,调用providerManager的方法进行认证。 如果认证通过,则生成JWT;把用户信息缓存到redis中。 ②自定义UserDetailService,实现查询数据库。校验:①定义JWT认证过滤器,获取token并解析token。实际上分了两部分,一个是登陆一个是校验。.原创 2022-08-27 11:15:14 · 335 阅读 · 0 评论 -
【Spring Security】安全框架学习(二)
由于安全框架提供了很多默认的设置,添加依赖就能直接运行,但是实际开发中我们只想要得到登陆的结果,就需要修改security提供的默认配置来实现自己的登陆流程。想要知道如何实现自己的登陆流程,就必须要先知道入门案例中的Spring Security的流程。Spring Security的原埋其实就是一个过滤器链,内部包含了提供各种功能的过滤器。我们可以通过debug查看当前系统中的Spring Security过滤链中有哪些过滤器以及他们的顺序。接口:它的实现类,表示当前访问系统的用户,封装了用户相关信息。.原创 2022-08-27 11:12:34 · 419 阅读 · 0 评论 -
【Spring Security】安全框架学习(一)
Spring Security是Spring家族中的一个安全管理框架。相比与另外一个安全框架shiro,它提供了更丰富的功能,社区资源也比 Shiro丰富。一般来说中大型的项目都是使用来做安全框架。小项目有Shiro的比较多,因为相比与Spring Security,Shiro的上手更加的简单。一般Web应用的需要进行认证和授权。认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户授权:经过认证后判断当前用户是否有权限进行某个操作。...原创 2022-08-26 12:52:19 · 351 阅读 · 0 评论 -
【Spring Boot】springboot配置
摘要原创 2022-05-12 22:20:05 · 204 阅读 · 0 评论 -
【SpringBoot】框架的建立(基于maven)
摘要原创 2022-05-06 09:40:52 · 487 阅读 · 0 评论 -
【SpringBoot】框架的建立(基于Spring Initializr)
摘要原创 2022-04-26 09:53:59 · 772 阅读 · 0 评论 -
【SSM框架】部分要使用的pom.xml依赖
摘要原创 2022-03-28 12:43:45 · 247 阅读 · 0 评论 -
【Spring】spring入门(持续更新)
摘要原创 2022-03-21 10:52:30 · 501 阅读 · 0 评论