spring security3.x学习(14)_关系型数据库使用的UserDetailsService(JdbcDaoImpl)
来源:互联网 发布:淘宝宝贝关键词优化 编辑:程序博客网 时间:2024/05/16 06:18
还记得这张图吧,这是当初我们在使用默认的配置时,看到的,大概回忆一下,在AuthenticationManager将Authentication传递给AuthenticationProvider处理时,AuthenticationProvider将进行真正的认证处理,此时调用了UserDetailsService然后返回UserDetails对象,。当初调用的是InMemoryDaoImpl这个,而现在我们使用的是关系型数据库,那么我们就要用一个JdbcDaoImpl去替代InMemoryDaoImpl这个实现类。
那如何使用JdbcDaoImpl,以及如何进行实现呢?、来看一下我们类(UserDetailsService)的关系:
我们现在已经确定了JdbcDaoImpl这个类来实现UserDetailsService。再来看一下这个类源码里边究竟写了哪些内容。
非常有意思的一个事,这个类继承了JdbcDaoSupport这个一个类(就是说明它可以进行数据库操作了),并且里边定义了很多的Sql语句,我大概截取了几个,并且我们再右侧又可以看到许多查询数据库的操作方法,,,。看到这我们是不是有个疑问,那这些数据库表结构,他是如何知道的呢?、、 我也很纳闷,所以我查了下Spring Security的官方文档:
其实也就是说,spring security是根据这些数据库脚本进行对数据库操作的,我们可以根据文档找到这些资源。这也难怪为什么JdbcDaoImpl可以直接集JdbcDaoSupport然后直接操作数据库了。
那好,现在基本我就知道了,其实内存数据库也是关系型数据库,那么是有实际的数据的,并且也是使用jdbc来进行操作的。这样看起来就非常有意思了,。。。看到这不要乱,一定要记住JdbcDaoImpl只是一种UserDetailsService的实现类,是AuthenticationProvider去调用它进行完成认证操作的,他会返回一个UserDetail对象。
1 0
- spring security3.x学习(14)_关系型数据库使用的UserDetailsService(JdbcDaoImpl)
- spring security3.x学习(14)_关系型数据库使用的UserDetailsService(JdbcDaoImpl)
- spring security3.x学习(15)_扩展JdbcDaoImpl。
- spring security3.x学习(15)_扩展JdbcDaoImpl。
- spring security3.x学习(13)_第三个例子要使用hsql数据库
- spring security3.x学习(13)_第三个例子要使用hsql数据库
- spring security3.x学习(4)_认证管理的过程
- spring security3.x学习(10)_自定义的登录页面
- spring security3.x学习(22)_关于ip的过滤器
- spring security3.x学习(4)_认证管理的过程
- spring security3.x学习(10)_自定义的登录页面
- spring security3.x学习(22)_关于ip的过滤器
- spring security3.x学习(11)_退出
- spring security3.x学习(11)_退出
- spring security3.x学习(16)_JdbcUserDetailManager的使用
- spring security3.x学习(16)_JdbcUserDetailManager的使用
- spring security3.x学习(1)_必备资料&开始学习
- spring security3.x学习(5)_如何拦截用户请求
- Linux使用笔记
- <Hello Arduino>继电器的原理和使用
- 第17周项目4-日期结构体
- [LeetCode] Wildcard Matching
- Stanford机器学习---第六讲. 怎样选择机器学习方法、系统
- spring security3.x学习(14)_关系型数据库使用的UserDetailsService(JdbcDaoImpl)
- 九度OJ—题目1351:数组中只出现一次的数字(vector与数组的区别)
- 使用eclipse更新Android SDK Tools 报错 failed to execute tools\android.bat
- 数据库分库分表
- Android中dip、dp、sp、pt和px的区别
- 【AC自动机】HDU-2222 Keywords Search
- MySQL字符编码的讨论:如何处理emoji等4字节的Unicode字符 - utf8mb4 vs. utf8 Collations
- Python中的推导式介绍
- Android权限大全