码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-09-23 09:49:33      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:src   企业   blank   java   变量   管理系   sys   mis   integer   

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.权限控制

标签:src   企业   blank   java   变量   管理系   sys   mis   integer   

原文地址:https://www.cnblogs.com/MarlonKang/p/11570327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!