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

Spring Security如何使用数据库登录认证授权开发技术

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

简介本篇文章给大家分享的是有关SpringSecurity如何使用数据库登录认证授权,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来

本篇文章给大家分享的是有关Spring Security如何使用数据库登录认证授权,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、搭建项目环境1、创建 RBAC五张表

RBAC,即基于角色的权限访问控制(Role-Based Access Control),就是用户通过角色与权限进行关联。
在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

在 MySQL数据库中,创建如下几个表:

DROP TABLE IF EXISTS sys_user;
CREATE TABLE sys_user(
    id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键id' ,
    username VARCHAR(60)    COMMENT '用户名' ,
    password VARCHAR(255)    COMMENT '密码' ,
    status tinyint(1)    COMMENT '用户状态,1-开启-0禁用' ,
    password_non_expired tinyint(1)    COMMENT '密码是否失效,1-可用,0-失效' ,
    PRIMARY KEY (id)
)  COMMENT = '用户表';

DROP TABLE IF EXISTS sys_role;
CREATE TABLE sys_role(
    id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键id' ,
    role_name VARCHAR(64) NOT NULL   COMMENT '角色名' ,
    role_desc VARCHAR(64) NOT NULL   COMMENT '角色描述' ,
    PRIMARY KEY (id)
)  COMMENT = '角色表';

DROP TABLE IF EXISTS sys_permission;
CREATE TABLE sys_permission(
    id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键id' ,
    parent_id BIGINT    COMMENT '父id' ,
    permission_name VARCHAR(64)    COMMENT '菜单名称' ,
    permission_url VARCHAR(255)    COMMENT '菜单地址' ,
    PRIMARY KEY (id)
)  COMMENT = '权限表';

DROP TABLE IF EXISTS sys_user_role;
CREATE TABLE sys_user_role(
    id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键id' ,
    user_id BIGINT NOT NULL   COMMENT '用户id' ,
    role_id BIGINT    COMMENT '角色id' ,
    enabled tinyint(1)   DEFAULT 1 COMMENT '是否有效' ,
    PRIMARY KEY (id)
)  COMMENT = '用户角色关联表';

DROP TABLE IF EXISTS sys_role_permission;
CREATE TABLE sys_role_permission(
    id BIGINT NOT NULL AUTO_INCREMENT  COMMENT '主键id' ,
    role_id BIGINT NOT NULL   COMMENT '角色id' ,
    permission_id BIGINT    COMMENT '权限id' ,
    PRIMARY KEY (id)
)  COMMENT = '角色权限表';

标签:

很赞哦! ()

本栏推荐