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

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

时间: 2024-08-26 20:32:59

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

08 SSM整合案例(企业权限管理系统):06.产品操作

04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.用户操作 09.权限控制 10.权限关联与控制 11.AOP日志 07.订单操作 SSM订单操作 表结构分析 productId描述了订单与产品之间的关系. memberid描述了订单与会员之间的关系. 创建表sql -- 订单 drop table orders; CREATE TABLE orders( id varchar2(32) default SYS_GUID() PRIMARY

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

04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户操作 10.权限关联与控制 11.AOP日志 09.用户操作 1. 用户操作-查询所有用户 3.3.1.用户查询页面 user-list.jsp 请在资料中查看具体代码 <!--数据列表--> <table id="dataList" class="table table-bordered table-striped table-hov

08 SSM整合案例(企业权限管理系统):11.AOP日志

04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户操作 10.权限关联与控制 11.AOP日志 11.AOP日志 1.数据库与表结构 1.2.sql语句 CREATE TABLE sysLog( id VARCHAR2(32) default SYS_GUID() PRIMARY KEY, visitTime timestamp, username VARCHAR2(50), ip VARCHAR2(30), url VA

通用权限管理系统之权限菜单zTree树的展示及移动的处理方法

在通用权限管理系统中,有很多数据结构是有父子关系的,如组织机构,部门,权限菜单等,在展示的时候,大多数是通过zTree树的形式展现的,如下: 权限菜单展示 这种数据后台输出比较容易处理,参考如下获取某个子系统的全部操作菜单: 后台输出zTree树的数据 /// <summary> /// 获取module树结构数据 /// </summary> /// <param name="systemCode"></param> /// <r

通用权限管理系统数据权限设置功能解析

在权限管理系统中,数据权限是比较难的,在我们通用权限系统中,数据权限指的是用户基于某个权限域对某些基础数据的操作权限,如上图,公司管理这个菜单被定义是数据权限,表示某些人在公司管理是可指定访问哪些基础数据,这个要与应用结合.如下图,可以限制该9999xudeng003用户在公司管理页面只能管理其中的几个公司. 目前基于用户的数据权限BS的管理功能已完成,这个是权限系统最难开发的一部分. 下面是MVC控制器调的通用权限管理系统底层的方法: //---------------------------

阶段3 3.SpringMVC&#183;_07.SSM整合案例_02.ssm整合之搭建环境

创建数据库ssm并创建表account create database ssm; use ssm; create table account( id int primary key auto_increment, name varchar(20), money double ); 创建项目 导入开发的坐标 先改成1.8 <spring.version>5.0.2.RELEASE</spring.version> <slf4j.version>1.6.6</slf4

阶段3 3.SpringMVC&#183;_07.SSM整合案例_03ssm整合之编写Spring框架

做整合要保证每个框架单独使用 先搭建Spring的框架,然后再整合别的框架.Spring是业务层的框架 spring的配置文件 这就表示是spring的配置文件 默认的约束不够,需要修改. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http

阶段3 3.SpringMVC&#183;_07.SSM整合案例_04.ssm整合之编写SpringMVC框架

搭建SpringMvc的环境, 首先是提供前端控制器 再配置serletMapping 加载Springmvc.xml的配置文件, 使用init-param里面有个属性contextConfigLocation 现在还没有springmvc.xml这个文件,一会我们要创建springmvc.xml 启动服务器创建该servlet 解决中文乱码 配置一个过滤器 过滤器拦什么.filter-mapping. /*:表示什么都拦 设置具体的编码集 有这个encoding的属性 以上前端控制器和过滤器就

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色

过了个年回来,回顾一下,我们上次讲了角色管理,我们这一次来讲将权限授权给角色,这一节也是大家比较关心的.因为我们已经跑通了整个系统,知道权限的流转,我们先来看一张图 这张图主要分要3块,角色组----系统模块----操作码授权 选择角色组(表示要授权的角色,选择需要授权的模块,最后授权操作码.当存在一个操作码时候,我们应该改变SysRight表中的rightflag字段,表示他有权限.不知道大家是否还记得,这个图也是我们要做的.由于图中用的是JQGrid看起来跟Easyui有点差别,但是方式却是