初探SpringSecurity

初探SpringSecurity

一开始我在看SpringSecurity是先去手册中了解如何使用,大概功能流程,然后再看官方demo,把自己搞的晕头转向。因为看到有认证整个程序都有使用继承和实现接口。只能进行搜索了解。学习具体认证的流程再进行搭建demo。

1、什么是SpringSecurity

SpringSecurity是对访问权限进行控制的安全框架,安全部分包括用户的认证和用户的授权,即用户登录时需要验证用户账号与密码,用户访问时需要验证用户是否有权限去执行这个操作。SpringSecurity的核心功能也就是认证与授权。

2、框架核心类

1)Authentication接口

有许多有关相关认证都需要对这个类进行实现,例如在用户提交认证后,一个Authentication接口的实现类UsernamePasswordAuthenticationToken会将用户的信息封装实例。

2)UserDetails接口

与Authentication接口类似,都存放着用户信息,区别在于Authentication获得是正确登录凭证,而UserDetails获得的是正确的登录密码。

3)UserDetailsService接口

从信息源中获得已有用户的信息。常用的实现类由JdbcDaoImpl和InMemoryUserDetailsManager。

3)AuthenticationManager接口

根据不同的认证方式来选择不同认证实现。

4)AuthenticationProvider

对用户实现认证。

3、认证处理流程

页面尝试认证后封装信息入Authentication中,通过AuthenticationManager选择认证方式后,UserDetailsService从数据源中获取用户信息放入UserDetails中,再用Authentication与UserDetails进行对比。

SpringSecurity流程图

SpringSecurity组件详解

Spring Security身份认证之UserDetailsService

SpringSecurity核心组件

# Spring 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×