一、是什么?
Spring Security对Web安全性的支持大量地依赖于Servlet过滤器。这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理。 Spring Security提供有若干个过滤器,它们能够拦截Servlet请求,并将这些请求转给认证和访问决策管理器处理,从而增强安全性。根据自己的需要,可以使用适当的过滤器来保护自己的应用程序。SpringSecurity专门为web开发而设计。
二、两个重要接口
(1)UserDetailService:当什么也没有配置的时候,账号和密码是由Spring Security 定义生成的。而实际中账号和密码都是从数据库中查询出来的。所以找们要自定义逻辑控制实现UserDetailService接口,编写查询数据库的过程,返回自定义user对象(实现UserDetailService接口),也可返回SpringSecurity自身user对象(底层实现了UserDetailService接口)
(2)PasswordEncoder:密码加密接口,一般用不到,会使用自己的自定义加密方式方法
三、权限认证
设置用户名密码的三种方式:1、配置文件 2、配置类 3、自定义实现类,实现UserDetailService接口(推荐)
配置类:自定义配置类继承WebSecurityConfigurerAdapter类,重写configure方法
自定义实现类:(1)自定义配置类继承WebSecurityConfigurerAdapter类,重写configure方法,调用userDetailsService将自定义用户实现类对象注入(2)自定义实现类实现userDetailsService接口,返回userDetail对象(可自定义用户信息对象,继承userDetail,返回此对象)

四、自定义登录界面
一、基础配置

二、权限访问控制
1、根据权限:hasAuthority方法 与 hasAnyAuthority方法

2:根据角色:hasRole方法 和 hasAnyRole 方法

三、自定义403界面

四、注解的使用


五、用户注销

六、自动登录:



本文介绍Spring Security的基础概念,包括其如何通过过滤器增强Web应用的安全性。详细解析了两个核心接口UserDetailService和PasswordEncoder的作用及使用场景,并介绍了权限认证的不同配置方法。此外,还提供了自定义登录界面和权限访问控制的具体步骤。
4422

被折叠的 条评论
为什么被折叠?



