Spring Security

324 阅读1分钟

用户权限模型.png

如图,是一种通用的用户权限模型。一般情况下会有5张表,分别是:用户表,角色表,权限表,用户角色关系表,角色权限对应表。 Spring Security和Apache Shiro是两个应用比较多的权限管理框架。Spring Security依赖Spring,其功能强大,相对于Shiro而言学习难度稍大一些。 我们项目是基于Spring Boot的,而且Spring Boot的权限管理也是推荐使用Spring Security的,所以再难也是要学习的。

#####Spring Security简介

Spring Security致力于为Java应用提供认证和授权管理。它是一个强大的,高度自定义的认证和访问控制框架。

两个关键词:Authentication(认证)和 Authorization(授权,也叫访问控制)

简单地来说,认证就是你是谁,授权就是你可以做什么。

Spring Security 官方文档:

使用参考:

错误:

A component required a bean of type 'org.springframework.security.crypto.password.PasswordEncoder' that could not be found.

答案:

报错的原因就是因为我引入的PasswordEncoder没有被注入到spring bean容器,导致无法启动,所以我们需要手动就PasswordEncoder注入到bean容器中去

@Configuration
public class BrowerSecurityConfig extends WebSecurityConfigurerAdapter {


    //手动将PasswordEncoder注入到ioc容器中
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}