08 SSM整合案例(企业权限管理系统):08.权限控制

Posted marlonkang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08 SSM整合案例(企业权限管理系统):08.权限控制相关的知识,希望对你有一定的参考价值。

04.AdminLTE的基本介绍

05.SSM整合案例的基本介绍

06.产品操作

07.订单操作

08.权限控制

09.用户操作

10.权限关联与控制

11.AOP日志

08.权限控制 

SSM权限操作

 


  

 1.数据库与表结构

技术图片

 如果删除TABLE ,需要先删除多对多创建的中间表后,才能删除其它表。

 1.1 用户表 

技术图片

  oracle数据库

-- 1.1.2 sql语句
CREATE TABLE users(
id varchar2(32) default SYS_GUID() PRIMARY KEY,
email VARCHAR2(50) UNIQUE NOT NULL,
username VARCHAR2(50),
PASSWORD VARCHAR2(50),
phoneNum VARCHAR2(20),
STATUS INT
)

  实体类

package cn.bjut.ssm.domain;

import java.util.List;

public class UserInfo 
    private String id;
    private String username;
    private String email;
    private String password;
    private String phoneNum;
    private Integer status;
    //======成员变量是其它实体类的List<E>=====
    private String statusStr;
    private List<Role> roles; 

    public String getStatusStr() 
        //状态0 未开启 1 开启
        if(status!=null)
            if(status==0)
                statusStr="未开启";
            if(status==1)
                statusStr="开启";
        
        
        return statusStr;
    

    public void setStatusStr(String statusStr) 
        this.statusStr = statusStr;
    
    //==========其它get/set方法===============

 

 

 1.2 角色表 

技术图片

 

-- 1.2.2 sql语句
CREATE TABLE role(
id varchar2(32) default SYS_GUID() PRIMARY KEY,
roleName VARCHAR2(50) ,
roleDesc VARCHAR2(50)
)

  

package cn.bjut.ssm.domain;

import org.springframework.security.core.userdetails.User;

import java.util.List;

    public class Role 
    private String id;
    private String roleName;
    private String roleDesc;
    private List<Permission> permissions;
    private List<User> users;
    //=====Role与User以及Permission都是多对多的关系

 

1.2.3 用户与角色关联关系

用户与角色之间是多对多关系,我们通过user_role表来描述其关联,在实体类中User中存在List,在Role中有List 

 

-- 用户与角色关联表
CREATE TABLE users_role(
userId varchar2(32),
roleId varchar2(32),
PRIMARY KEY(userId,roleId),
FOREIGN KEY (userId) REFERENCES users(id),
FOREIGN KEY (roleId) REFERENCES role(id)
)

 

 

1.3 资源权限表

技术图片

 

 

-- 1.3.2 sql语句
CREATE TABLE permission(
id varchar2(32) default SYS_GUID() PRIMARY KEY,
permissionName VARCHAR2(50) ,
url VARCHAR2(50)
)

  

package cn.bjut.ssm.domain;

import java.util.List;

public class Permission 
    private String id;
    private String permissionName;
    private String url;
    private List<Role> roles;
    //=====存在一对多关系,则在一的实体类中的成员变量类型是多的List<E>
    //=====存在一对多关系,则在一的实体类中的成员变量名称是多的names

 1.3.3.权限资源与角色关联关系 

 权限资源与角色是多对多关系,我们使用role_permission表来描述。在实体类Permission中存在List,Role类中List

-- 权限资源与角色是多对多关系
CREATE TABLE role_permission(
permissionId varchar2(32),
roleId varchar2(32),
PRIMARY KEY(permissionId,roleId),
FOREIGN KEY (permissionId) REFERENCES permission(id),
FOREIGN KEY (roleId) REFERENCES role(id)
)

 

 


 

2.Spring Security概述

 

 

 

 

 

 

 

 

===============

end

以上是关于08 SSM整合案例(企业权限管理系统):08.权限控制的主要内容,如果未能解决你的问题,请参考以下文章

08 SSM整合案例(企业权限管理系统):09.用户操作

): MyBatis注解方式的基本使用

(面试总结)SSM 整合案例:总体介绍

SSM整合案例(超详细)

Java SSM项目 day01 企业权限管理系统(IDEA版)源代码

Java SSM项目 day01 企业权限管理系统(IDEA版)源代码