您现在的位置是:主页 > Web前端技术 > Web前端技术

SpringBoot怎么整合Springsecurity实现数据库登录及权限控制开发技术

IDCBT2022-01-06服务器技术人已围观

简介这篇文章主要为大家展示了“SpringBoot怎么整合Springsecurity实现数据库登录及权限控制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一

这篇文章主要为大家展示了“SpringBoot怎么整合Springsecurity实现数据库登录及权限控制”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot怎么整合Springsecurity实现数据库登录及权限控制”这篇文章吧。

首先呢,是一个SpringBoot 项目,连接数据库,这里我使用的是mybaties.mysql, 下面是数据库的表

DROP TABLE IF EXISTS `xy_role`;
 
CREATE TABLE `xy_role` (
  `xyr_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `xyr_name` char(30) DEFAULT NULL COMMENT '角色名称',
  PRIMARY KEY (`xyr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='角色';
 
/*Data for the table `xy_role` */
 
insert  into `xy_role`(`xyr_id`,`xyr_name`) values 
 
(1,'ROLE_SUPERADMIN'),
 
(2,'网站管理员'),
 
(3,'ROLE_SHOPADMIN');
 
 
DROP TABLE IF EXISTS `xy_webadmin`;
 
CREATE TABLE `xy_webadmin` (
  `xywb_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `xywb_username` char(30) DEFAULT NULL COMMENT '用户名',
  `xyr_id` int(11) DEFAULT NULL COMMENT '角色',
  `xywb_password` char(50) DEFAULT NULL COMMENT '密码',
  `xywb_registertime` bigint(20) DEFAULT NULL COMMENT '注册时间',
  PRIMARY KEY (`xywb_id`),
  KEY `FK_Reference_37` (`xyr_id`),
  CONSTRAINT `FK_Reference_37` FOREIGN KEY (`xyr_id`) REFERENCES `xy_role` (`xyr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='网站管理员';
 
/*Data for the table `xy_webadmin` */
 
insert  into `xy_webadmin`(`xywb_id`,`xywb_username`,`xyr_id`,`xywb_password`,`xywb_registertime`) values 
 
(1,'haiwei',1,'123456',1983),
 
(2,'admin',3,'123456',1983),
 
(3,'admin1',2,'123456',NULL);

表创建完了之后呢, 我们就开始写代码了

第一步

我们要创建spring security 的配置文件, 因为代码太长,所以我就直接截图了, 小伙伴们不要想着COPY代码哦,要自己手写代码

然后是一个实现了UserDetialsServer的类

这个类主要是实现了loadUserByname方法, 然后我们可以在这个类中注入我们的service 或者直接mapper接口, 然后方法内部根据username获得该用户, 然后再获取这个用户的权限

标签:

很赞哦! ()

本栏推荐