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

04.AdminLTE的基本介绍

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

06.产品操作

07.订单操作

08.权限控制

09.用户操作

10.权限关联与控制

11.AOP日志

08.权限控制 

SSM权限操作


 

 1.数据库与表结构

 1.1 用户表 

用户表信息描述users

  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

猜你喜欢

转载自www.cnblogs.com/MarlonKang/p/11570327.html
08