Начиная с максимально простого, вы можете создать базовый объект User, подобный этому.
{
"type": "user",
"userInfo" : {}, // Name, email, date created, etc
"role": "pending",
}
Тогда администратор сможет обновить роль пользователя до member
, poweruser
и т. Д.
Тогда у вас может быть отдельная база данных со списком разрешений, например так.
[
{
"role": "pending",
"permissions": []
},
{
"role": "member",
"permissions": [ // a few permissions ]
},
{
"role": "poweruser",
"permissions": [ // More permissions ]
},
]
Это позволит вам иметь справочную таблицу разрешений для каждого пользователя.С дополнительным преимуществом вы можете обновлять разрешения для всех пользователей в одной базе данных.