Skip to content

后台权限 #118

@mingyun

Description

@mingyun
select *from user_relation_roles where user_id=?;
select *from roles where id in(?);
select permission_id from role_relation_admin_permissions where role_id in(??) ;

select reference_id from admin_permissions where id (?) and type=1;
select *from admin_menus where id in(?);

//用户后台权限
select *from role_relation_admin_permissions where role_id in (1);

select *from admin_permissions where id in(select permission_id  from role_relation_admin_permissions where role_id in (1));
select *from admin_menus where id in(select reference_id from admin_permissions where id in(select permission_id  from role_relation_admin_permissions where role_id in (1))) ;

添加后台菜单时,插入admin_menus,根据生成的 id 插入 admin_permissions  reference_id 
授权时根据菜单 reference_id 查找对应的 id 插入 role_relation_admin_permissions  permission_id  
CREATE TABLE `user_relation_roles` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID,关联users表中的主键',
  `role_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '角色ID,关联roles表中的主键',
  `employee_id` int(10) NOT NULL DEFAULT '0' COMMENT '员工ID,关联employee表中主键',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uinx_user_id_role_id` (`user_id`,`role_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户角色关系表';
CREATE TABLE `roles` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `role_name` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '角色名称',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB   DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='角色表';

CREATE TABLE `role_relation_admin_permissions` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `permission_id` int(10) unsigned NOT NULL COMMENT '权限ID,关联admin_permissions表id',
  `role_id` int(10) unsigned NOT NULL COMMENT '角色ID',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='角色权限关系表';

CREATE TABLE `admin_permissions` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '权限ID',
  `reference_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联admin_menus表ID',
  `type` smallint(2) NOT NULL DEFAULT '0' COMMENT '权限类型',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '修改时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uidx_reference_id_type` (`reference_id`,`type`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='权限菜单关系表';

CREATE TABLE `admin_menus` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '菜单名称',
  `url` varchar(100) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '菜单对应的路由',
  `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父菜单id',
  `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`id`),
  KEY `admin_menus_parent_id_index` (`parent_id`)
) ENGINE=InnoDB   DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='后台管理菜单表';

$menu_url = [];
        if(!empty($menu)){
            foreach($menu['admin'] as $key=>$values){
                if(!empty($values['children'])){
                    foreach($values['children'] as $val){
                        $menu_url[] = $val['url'];
                    }
                }
            }
        }

1	后台首页	0	0	2015-05-15 18:13:12	2015-05-15 18:13:15
2	默认首页	admin/index	1	2015-05-15 18:13:07	2015-06-06 02:09:29
3	用户管理	0	0	2015-05-15 18:13:30	2015-05-15 18:13:33
4	用户列表	admin/user	3	2015-05-15 18:14:11	2015-05-22 00:49:16
5	菜单管理	0	0	2015-05-15 23:33:24	2015-05-15 23:33:31
6	菜单列表	admin/menu	5	2015-05-15 23:34:09	2015-05-22 01:02:39
7	添加菜单	admin/menu/add	5	2015-05-15 23:36:19	2015-05-30 17:12:10
9	角色分配	admin/role	5	2015-05-16 03:13:45	2015-05-22 01:20:16
12	用户授权	admin/user/menuauthorize	5	2015-05-18 11:35:30	2015-05-22 00:52:38

@foreach ($menu['admin'] as $key=>$value)
            <div class="main_menu_title" style="cursor:pointer;">
                <div class="main_menu_title_left" id="{{$value['parent']['id'] }}"> {{$value['parent']['name'] }}</div>
            </div>
            <ul id="group_menu_{{$value['parent']['id'] }}" class="group_menu_{{$value['parent']['id'] }}" style="display: @if($key == 1) block @else none @endif">
          		@if (!empty($value['children']))
                	@foreach ($value['children'] as $v)
                        <li class="menu_title" onclick="main_frame_src('{{url($v['url'])}}','{{$value['parent']['name'] }}','{{$v['name'] }}')" >
                                <span> {{$v['name'] }}</span>
                            </li>
                	@endforeach
          		@endif
      	    </ul>
          @endforeach
<div class="col-md-10 col-md-offset-2 main"  style="padding-top:45px">
         <div class="position" >当前位置:管理中心 >><span id="posInfo"></span></div>
        <iframe src="{{url('admin/index')}}" name="main" width="100%" height="800" frameborder="0" scrolling="auto" id="main" style="margin-top:53px;">
        </iframe>
      </div>
function main_frame_src(url, pname, subname){
    var event = event || window.event || false;
    var ctrlKey = event.ctrlKey || false;
    var command = event.metaKey || false;

    if (ctrlKey || command) {
        window.open(url);
    } else {
        $('#posInfo').html(pname+' >> '+subname+'&nbsp;');
        $("iframe").attr("src",url);
    }
}
maatwebsite/excel http://www.maatwebsite.nl/laravel-excel/docs/getting-started#installation

PHP extension php_zip enabled (required if you need PHPExcel to handle .xlsx .ods or .gnumeric files)
 /vendor/maatwebsite/excel/src/Maatwebsite/Excel/Writers/LaravelExcelWriter.php(263): Maatwebsite\\Excel\\Writers\\LaravelExcelWriter->_download(Array)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions