MemFire教程|轻松掌握“后台管理系统”角色权限的配置

本文详细介绍了如何在MemFireCloud中配置用户角色、权限,包括创建AuthHook实现自定义声明,设置角色权限、菜单和数据访问策略,以便管理不同角色的用户权限和前端界面显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期,收到许多用户关于如何配置和管理 MemFire Cloud 中的用户角色和权限的询问。为了解答大家的疑问,我们编写了一个简易教程,指导你完成如何在 MemFire Cloud 中轻松设置用户角色和权限,以及配置前端路由和按钮权限的各个步骤。本教程以“商品后台管理系统”中设置的不同角色(超级管理员:可以对商品管理系统的所有数据进行任何操作;普通管理员:可以查看和新增商品;普通用户:只能查看商品)和通过权限来管理商品为例进行讲解。

准备工作:创建Auth Hook

此Auth Hook介绍了一种为 MemFire Cloud 项目实现自定义声明的方法。该方法旨在将JSON 数据添加到经过身份验证的用户在登录应用程序时收到的访问令牌中。此令牌(及其包含的自定义声明)可供你的应用程序和 PostgreSQL 数据库服务器读取和使用,方便在后续给用户设置和读取用户的角色声明。这些自定义声明存储在 auth 架构中 users 表的 raw_app_meta_data 字段中。

文件 install.sql 包含在 MemFire Cloud项目中实现和管理自定义声明所需的所有 Auth Hook。

1.将 install.sql 中的 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中。

2.单击 RUN 来执行代码。

文件:https://github.com/supabase-community/supabase-custom-claims

创建表

"商品后台管理系统"需要创建权限表(role_permissions)、菜单表(sys_menu)、用户表(users)、和商品表(prod) ,用这四张表来完成对于用户角色和权限的配置及管理。

创建权限表

首先需要创建一个权限表来跟踪角色的权限。我们设置了三种角色,分别为超级管理员:superAdmin、普通管理员:admin、普通用户:authenticated。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

-- 角色权限
create table public.role_permissions (
  id bigint generated by default as identity primary key,
  role character varying(255) not null,
  permission character varying(255) not null
);
comment on table public.role_permissions is '权限表';

insert into public.role_permissions (role, permission)
values
  ('superAdmin', 'all'),
  ('admin', 'prod:spec:info,prod:spec:save'),
  ('authenticated', 'prod:spec:info');

permission是代表能够访问和控制哪些页面,prod:spec:info表示可以查看商品管理列表的详情,prod:spec:save表示可以新增商品,prod:spec:update表示可以修改商品,prod:spec:delete表示可以删除商品。

创建菜单表

创建"商品后台管理系统"的菜单表,方便后续管理菜单。

将 SQL 代码粘贴到 MemFire Cloud 项目的 SQL 查询编辑器中,点击RUN来执行代码。

create table public.sys_menu (
    menu_id bigint generated by default as identity primary key,
    parent_id bigint null,
    name character varying(50) null default null::character varying,
    perms character varying(500) null default null::character varying
  ) tablespace pg_default;
  
  insert into public.sys_menu (parent_id,type,menu_id,name,perms)
values
(1,1,34,'商品管理',null),
(34,2,57,'查看','prod:spec:info'),
(34,2,58,'添加','prod:sp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值