博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springsecurity基于数据库验证用户
阅读量:5035 次
发布时间:2019-06-12

本文共 1348 字,大约阅读时间需要 4 分钟。

之前的springsecurity程序都是将数据存放在内存中的,通过

1 
2
3
4

user-service指定用户信息,例如name,password和权限

但是这样的验证在开发中是不科学的,所以我们要连接数据库,通过匹配数据库中的信息判断用户是否登陆

 

首先我们需要添加依赖,需要继续添加的依赖有spring-jdbc,spring-core,spring-web,spring-webmvc,mysql-connector-java

添加完依赖后我们需要加入数据库的配置文件

在spring-security配置文件中配置datasource

jdbc-user-service 元素,通过该元素我们可以定义一个从数据库获取 UserDetails 的 UserDetailsService, dataSource 是对应数据源配置的 bean 引用

完整的spring-security.xml配置文件:

1 
9
10
11
12
13
14
15
16
17
18
23
24
32
33
35
36
37 38 39
40
41
42
43
44 45

 

默认情况下 jdbc-user-service 将使用 SQL 语句 “select username, password, enabled from users where username = ?” 来获取用户信息;使用 SQL 语句 “select username, authority from authorities where username = ?” 来获取用户对应的权限;

若数据库表名不是系统默认的,我们可以通过属性 users-by-username-query 来指定查询用户信息的时候是从自定义用户信息表中查询,通过authorities-by-username-query来查询用户权限

 

另外还有一种连接数据库的方法

1 
2
3
4 5
6
7

JdbcDaoImpl是支持用户组查询的

转载于:https://www.cnblogs.com/Hdaydayup/p/6833022.html

你可能感兴趣的文章
控件发布:div2dropdownlist(div模拟dropdownlist控件)
查看>>
Oracle composite index column ordering
查看>>
kaggle竞赛
查看>>
区块链入门教程
查看>>
npm常用命令
查看>>
南海区行政审批管理系统接口规范v0.3(规划)4.2.【queryExpireList】当天到期业务查询...
查看>>
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>
生成指定位数随机数的方法
查看>>
Essential C++学习笔记
查看>>
where,having与 group by连用的区别
查看>>
【MySQL】MySQL锁和隔离级别浅析二 之 INSERT
查看>>
Oracle T4-2 使用ILOM CLI升级Firmware
查看>>
4.14上午
查看>>
数据分析 -- 白话一下什么是决策树模型(转载)
查看>>
Java SPI机制原理和使用场景
查看>>
web前端java script学习2017.7.18
查看>>
删除TXPlatform
查看>>
LaTex:图片排版
查看>>
并发访问超时的问题可能性(引用)
查看>>