zoukankan      html  css  js  c++  java
  • RBAC流程

    本人  php技术小白,今天做rbac  以前接触的不是太多  于是便吧自己 今天做的整理一下

    首先呢  创建五张表

    2.1、用户表

    CREATE TABLE t_user(
      user_id NUMBER(10) PRIMARY KEY,
      user_name VARCHAR2(30),
      gender NUMBER(1),
      birthday DATE,
      create_time DATE DEFAULT SYSDATE
    );
    COMMENT ON TABLE t_user IS '用户表';
    COMMENT ON COLUMN t_user.user_id IS '用户ID';
    COMMENT ON COLUMN t_user.user_name IS '用户姓名';
    COMMENT ON COLUMN t_user.gender IS '性别{1男/0女}';
    COMMENT ON COLUMN t_user.birthday IS '出生日期';
    COMMENT ON COLUMN t_user.create_time '创建时间';

    2.2、角色表

    CREATE TABLE t_role(
      role_id NUMBER(10) PRIMARY KEY,
      role_name VARCHAR2(30),
      create_time DATE DEFAULT SYSDATE
    );
    COMMENT ON TABLE t_role IS '角色表';
    COMMENT ON COLUMN t_role.role_id IS '角色ID';
    COMMENT ON COLUMN t_role.role_name IS '角色名称';
    COMMENT ON COLUMN t_role.create_time '创建时间';

    2.3、权限表

    CREATE TABLE t_power(
      power_id NUMBER(10) PRIMARY KEY,
     power_url varchar(30), power_name VARCHAR2(30), create_time DATE DEFAULT SYSDATE ); COMMENT ON TABLE t_power IS '权限表'; COMMENT ON COLUMN t_power.power_id IS '权限ID'; COMMENT ON COLUMN t_power.power_name IS '权限名称';
    COMMENT ON COLUMN t_power.power_url IS '权限名称相对应的路径'; COMMENT ON COLUMN t_power.create_time '创建时间';

    2.4、用户角色(关系)表

    CREATE TABLE t_user_role(
      user_id NUMBER(10) NOT NULL,
      role_id NUMBER(10) NOT NULL ,
      create_time DATE DEFAULT SYSDATE
    );
    COMMENT ON TABLE t_user_role IS '用户角色(关系)表';
    COMMENT ON COLUMN t_user_role.user_id IS '用户ID';
    COMMENT ON COLUMN t_user_role.role_id IS '角色ID';
    COMMENT ON COLUMN t_user_role.create_time '创建时间';

    2.5、角色权限(关系)表

    CREATE TABLE t_role_power(
      role_id NUMBER(10) NOT NULL,
      power_id NUMBER(10) NOT NULL
    );
    COMMENT ON TABLE t_role_power IS '角色权限(关系)表';
    COMMENT ON COLUMN t_role_power.role_id IS '角色ID';
    COMMENT ON COLUMN t_role_power.power_id IS '权限ID';
    COMMENT ON COLUMN t_role_power.create_time '创建时间';
    创建完以上几张表之后
    进行登录的操作
    登录存cookie或session根据name或id查询此用户的权限 然后根据对应权限展示对应信息
    查询sql
    select * from power //权限表表名
    where power_id //权限表id
    in(select power_id from role_power where role_id in (select role_id from user_role where user_id = 1))
    还不完善,,后续改进


  • 相关阅读:
    2019-2020-1学期 20192413 《网络空间安全专业导论》第九周学习总结
    2019-2020-1学期 20192413 《网络空间安全专业导论》第八周学习总结
    175210《网络对抗技术》Exp9 Web安全基础
    175210闵天 《网络对抗技术》Exp8 Web基础
    175210《网络对抗技术》Exp7 网络欺诈防范
    175210课设个人报告
    175210 Exp6 MSF基础应用
    175210课设第三次报告
    175210 《网络对抗技术》 Exp5 信息搜集与漏洞扫描
    175210课设第二次报告
  • 原文地址:https://www.cnblogs.com/dbwen/p/8335300.html
Copyright © 2011-2022 走看看