Як створити користувача з ролями (послугами) через службу REST?


10

Я міг би створити нового користувача у такому форматі JSON. (Використання додатку POSTER для розміщення цих даних у службі REST.)

{
   "name":"user34",
   "pass":"3323",
   "mail":"sample@example.com",
   "status":"1"
}

Моє питання - як створити користувача з певною роллю. Я спробував із наступним форматом JSON.

{
   "name":"user35",
   "pass":"pwds3",
   "mail":"sample2@example.com",
   "status":"1",
   "roles":{
      "2":"authenticated user",
      "4":"moderator"
   }
}

але відповідь дає таку помилку

["Виявлено незаконний вибір. Зверніться до адміністратора сайту."]


1
Користувач, який виконує дію, ОБОВ'ЯЗКОВО повинен мати "адмініструвати користувачів" та "адмініструвати дозволи"

Відповіді:


16

Після багатьох випробувань мені вдалося вирішити свою проблему

Ось формат JSON для створення користувача з роллю.

{
   "name":"user343",
   "pass":"kes35@r4",
   "mail":"user343@sample.com",
   "status":"1",
   "roles":[
      "4"
   ]
}

Щоб призначити кілька ролей,

{
   "name":"user344",
   "pass":"kes344@r4",
   "mail":"user344@sample.com",
   "status":"1",
   "roles":[
      "3",
      "4"
   ]
}

Я сподіваюся, що це комусь допоможе.


Яка URL-адреса для створення нового користувача в плакаті
KTM

my_url / rest_endpoint / user та розміщено через кліент відпочинку (ARC) з хрому
KTM

Чи можете ви перерахувати, які всі процеси можна виконати через клієнт відпочинку ??
КТМ

0

Це допомогло!

Я використовував URL-адресу запиту endpoint/user/registerі передав заголовки content-typeяк application / json та X-CSRF-TOKEN, які я отримав при вході в систему.

Дякую.


Зареєструвавши нового користувача, як би ви отримали X-CSRF-TOKEN? Ви згадали, що ви отримали токен при вході в систему, але користувач повинен бути зареєстрований першим, перш ніж він зможе увійти.
IAM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.