二、Spring Security的使用

一、课程介绍

1.1 Spring Security介绍:认证、权限拦截、数据库、权限缓存以及自定义决策

1.2 环境搭建和使用

二、spring Security的架构


二、Spring Security的使用_第1张图片

三、Spring Security的权限拦截

3.1 Spring Security拦截器的处理过程


二、Spring Security的使用_第2张图片
spring security提供了很多的过滤器,拦截servlet请求,将这些请求转交给认证管理器和访问决策管理器,并强制安全性

3.2 spring security的常见filter

3.2.1 率先执行的过滤器,判断用户的session是否已经存在securityContext的上下文中,如果存在则把securityContext拿出来,放在SecurityContextHolder中,供其它部分使用。

二、Spring Security的使用_第3张图片
过滤器的顶端,第一个起作用的过滤器

3.2.2 LogoutFilter

3.2.3 AbstractAuthenticationProcessingFilter:处理form登陆的过滤器

3.2.4 DefaultLoginPageGeneratingFilter :生成默认的登陆页面

3.2.5 BasicAuthenticationFilter:

3.2.6 其它

二、Spring Security的使用_第4张图片
Spring Security的常见过滤器

四、Spring Security的数据库管理

二、Spring Security的使用_第5张图片


二、Spring Security的使用_第6张图片
当使用数据库管理用户时,我们需要手动实现UserDetailService中的loadUserByUsername()方法
二、Spring Security的使用_第7张图片
loadUserByUsername()返回的UserDetail对象,其中包含了当前用户的权限集合
二、Spring Security的使用_第8张图片

五、Spring Security的权限缓存

二、Spring Security的使用_第9张图片
UserDetailService缓存

六、Spring Security的自定义决策

二、Spring Security的使用_第10张图片

七、Case:Spring Boot+Spring Security

7.1 搭建spring boot环境

7.2 引入spring-security的依赖包,此时访问controller,就需要输入用户名密码来访问

二、Spring Security的使用_第11张图片
测试Controller如下
二、Spring Security的使用_第12张图片
此时访问url就需要输入用户名密码


7.3 对访问策略进行配置

二、Spring Security的使用_第13张图片
对http请求的策略配置
二、Spring Security的使用_第14张图片
对静态资源的策略配置

八、Spring Security的常见Case

8.1 只要能登陆即可:网页是记录项目里的工具等,安全性要求不高。只要组内同事能登陆即可

二、Spring Security的使用_第15张图片
ADMIN用户只要登陆即可访问,zhouzhou是基于角色的,然后在Controller中添加如下的注解
二、Spring Security的使用_第16张图片

九、数据库管理用户

二、Spring Security的使用_第17张图片
定义实现UserDetaisService的类,其中返回一个UserDetails对象,UserDetails对象有如下的实现类
二、Spring Security的使用_第18张图片
UserDetail的实现,其中需要如下的字段。密码需要自定义校验规则
二、Spring Security的使用_第19张图片
自定义密码的校验规则
二、Spring Security的使用_第20张图片
设置校验时定义的UserDetailService类,同时设定密码校验的类

十、总结

10.1 优点

二、Spring Security的使用_第21张图片
优点

10.2 缺点

你可能感兴趣的:(二、Spring Security的使用)