美文网首页
二、Spring Security的使用

二、Spring Security的使用

作者: 薛定谔的猫_1406 | 来源:发表于2018-03-23 17:30 被阅读0次

一、课程介绍

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

1.2 环境搭建和使用

二、spring Security的架构

三、Spring Security的权限拦截

3.1 Spring Security拦截器的处理过程

spring security提供了很多的过滤器,拦截servlet请求,将这些请求转交给认证管理器和访问决策管理器,并强制安全性

3.2 spring security的常见filter

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

过滤器的顶端,第一个起作用的过滤器

3.2.2 LogoutFilter

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

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

3.2.5 BasicAuthenticationFilter:

3.2.6 其它

Spring Security的常见过滤器

四、Spring Security的数据库管理

当使用数据库管理用户时,我们需要手动实现UserDetailService中的loadUserByUsername()方法 loadUserByUsername()返回的UserDetail对象,其中包含了当前用户的权限集合

五、Spring Security的权限缓存

UserDetailService缓存

六、Spring Security的自定义决策

七、Case:Spring Boot+Spring Security

7.1 搭建spring boot环境

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

测试Controller如下 此时访问url就需要输入用户名密码

7.3 对访问策略进行配置

对http请求的策略配置 对静态资源的策略配置

八、Spring Security的常见Case

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

ADMIN用户只要登陆即可访问,zhouzhou是基于角色的,然后在Controller中添加如下的注解

九、数据库管理用户

定义实现UserDetaisService的类,其中返回一个UserDetails对象,UserDetails对象有如下的实现类 UserDetail的实现,其中需要如下的字段。密码需要自定义校验规则 自定义密码的校验规则 设置校验时定义的UserDetailService类,同时设定密码校验的类

十、总结

10.1 优点

优点

10.2 缺点

相关文章

网友评论

      本文标题:二、Spring Security的使用

      本文链接:https://www.haomeiwen.com/subject/ilkxcftx.html