
springsecurity
文章平均质量分 73
北海冥鱼未眠
道路在身旁!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringSecurity学习笔记(十三)认证授权底层原理
也就是说这个对象会获取到每个接口需要哪些权限,也就是说如果我们自己实现了这样一个接口,就可以自定义接口的访问权限,如果这个自定义的是从数据库里面查询出来的就不用每次都像下面这样在代码里面写了。在之前第一篇学习ss整体架构的时候有这么一个图。在一个请求过来的时候会首先经过。原创 2022-10-10 19:55:57 · 463 阅读 · 0 评论 -
SpringSecurity学习笔记(十二)异常以及权限管理使用
如果我们登录了其他的无权限的用户进行访问则出现。此时我们登录id为1的用户,源码分析:这里面涉及到一个类。SS中的异常主要分为两种。我们在数据库中插入数据。原创 2022-10-09 22:28:27 · 408 阅读 · 0 评论 -
SpringSecurity学习笔记(十一)CSRF攻击以及CORS跨域
什么是CSRFCSRF:跨站请求伪造。也可称为一站式攻击。也可写作XSRF。按照字面意思来理解,跨站请求伪造,意思就是说用户登录了A网站之后,会话没有过期,然后登录了B网站,这个时候B网站中的请求访问了A网站,这个时候A网站就会认为是合法的用户的请求,这个时候用户是无感知的,从而导致用户在A网站的账户出现安全问题。特别是在一些银行之类的网站上如果受到这种攻击,造成的损失是致命的。CSRF防御。原创 2022-10-09 11:25:30 · 1528 阅读 · 0 评论 -
SpringSecurity学习笔记(十)Session会话
底层的实现原理,简单地来说实际上就是维护了一个map,记录用户以及对应的session。如果允许再次登录就会在用户在新的设备登录的时候更新对应的session,原来用户的session就会失效。不允许再次登录就是在用户再次登录的时候发现map里面已经存在了用户的session了就会直接返回错误信息。这种方式对于传统的单体的项目来说是比较容易实现的,但是在微服务项目里面我们如何实现呢?对于我们的web项目,我们可以在ss的配置里面配置下面的内容。,这个是用来将session序列化到redis的工具。原创 2022-10-07 23:24:22 · 743 阅读 · 0 评论 -
SpringSecurity学习笔记(九)RememberMe进阶
前面我们介绍了rememberMe的实现原理,从中我们可以思考这样一个问题,如果我们的cookie被非法用户获取,然后携带这个cookie进行访问我们的项目中的内容,就会导致非法用户登录。这个问题怎么解决呢?原创 2022-10-07 21:00:24 · 629 阅读 · 0 评论 -
SpringSecurity学习笔记(八)RememberMe功能
RememberMe 是一种服务器端的行为。传统的登录方式基于 Session会话,一旦用户的会话超时过期,就要再次登录,这样太过于烦琐。如果能有一种机制,让用户会话过期之后,还能继续保持认证状态,就会方便很多,RememberMe 就是为了解决这一需求而生的。原本的交互流程是,用户登录了之后会将用户的信息保存在服务端的session中,并且返回客户端一个jsessionid作为一个标识,默认过期时间是30分钟,30min没有进行任何操作,时间到了之后就会过期。原创 2022-10-07 16:30:02 · 693 阅读 · 0 评论 -
SpringSecurity学习笔记(七)密码加密
直接使用其他的密码加密方式我们先把密码改成bcrypt加密这个时候我们一样可以使用密码123登录第二种密码加密方式为什么我们前面说默认的是?,这个是在配置里面配置的所以只要我们自己在容器中创建一个就可以实现使用自己的默认的编码方法。如果没有找到就会自己创建一个map,这个时候就要在密码字段前面加上指明加密方式。当然如果我们自定义了一个,这样我们数据库中的密码就不需要加上密码加密前缀。}.}.}.原创 2022-10-06 18:15:41 · 1330 阅读 · 2 评论 -
SpringSecurity学习笔记(六)验证码实现
当然,项目中验证码的实现逻辑肯定不是这样子简单,而是要记录是哪个用户的验证码,而且一般是存放在redis里面设置过期时间。有了验证码之后我们就需要验证码正确之后才能进行用户名密码的验证,这时候我们需要改变验证的逻辑,自定义验证过滤器。编写Controller类返回验证码,这里注意将验证码的请求放行,不然无法获取。然后启动项目测试,只有验证码正确的时候才能访问成功。然后配置验证码生成类的信息。首先在项目中加入依赖。原创 2022-10-06 10:56:20 · 419 阅读 · 0 评论 -
SpringSecurity学习笔记(五)自定义数据源
我们也可以自己创建一个类型的bean这样就可以使得自动配置类失效。部分源码如下注入的//直接创建一个bean破坏 @Bean public UserDetailsService userDetailsService() {原创 2022-10-05 16:40:14 · 593 阅读 · 4 评论 -
SpringSecurity学习笔记(四)注销登录、获取用户数据
SpringSecurity注销登录、获取用户数据原创 2022-10-03 16:38:11 · 1017 阅读 · 2 评论 -
SpringSecurity学习笔记(三)自定义资源拦截规则以及登录界面跳转
公共资源:可以随意访问认证访问:只有登录了之后的用户才能访问。授权访问:登录的用户必须具有响应的权限才能够访问。我们想要自定义认证逻辑,就需要创建一些原来不存在的bean,这个时候就可以使注解发现创建默认的实现类失效。测试环境搭建return "just a test,这个是公共资源!";return "访问受限资源!";}下面我们重写一个配置类去替换内部默认的配置类。原创 2022-10-03 10:06:20 · 1807 阅读 · 0 评论 -
SpringSecurity学习笔记(二)加载的Filter,默认配置
()原创 2022-10-02 14:06:11 · 1291 阅读 · 0 评论 -
SpringSecurity学习笔记(一)springSecurity的整体架构
首先我们要知道SpringSecurity是Spring家族中的一员,是基于spring框架提供的一套web应用安全性的完整解决方案,包括可高度定制的认证、授权、鉴权等一系列的流程。它在和springcloud进行整合时候具有其他的框架无法比拟的优势,因此逐渐成为微服务时代首选的安全框架。除了SpringSecurity以外还有其他的框架也能够提供安全的支持,比如Shiro:阿帕奇旗下的比较老牌的安全框架,轻量、简单、易于集成、可以单独在Javase环境中使用而不用在spring环境中使用。原创 2022-10-01 17:27:15 · 1262 阅读 · 0 评论 -
SpringSecurity的使用
Spring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入 spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理!使用步骤:1:加入依赖 <dependency> <groupId>org.springframework.boot</groupId>原创 2022-02-15 10:54:21 · 4018 阅读 · 0 评论