사용자 관리

사용자를 관리하기 위한 API 입니다.

사용하는 HTTP 메소드(Method) 종류와 용도는 다음과 같습니다.

사용자 속성

이름 형식 설명
id 정수 사용자 ID
name 문자열 사용자 이름
password 문자열 사용자 비밀 번호
description 문자열 설명
permission 권한 정보 권한 정보

권한 정보

이름 형식 설명
systems 시스템 권한 획득한 시스템 권한 목록
cameras 카메라 권한 카메라 보기/제어 권한 목록

시스템 권한

카메라 권한

사용자 목록

GET /api/users

다음은 사용자 목록을 얻어오는 예제입니다.

요청

GET /api/users HTTP/1.1
Host: demo.nvrsw.com
Authorization: [Basic Authentication]
Content-Type: application/json

응답

HTTP/1.1 200 OK
Content-Type: application/json

{
  "users": [
    {
      "id": 1,
      "name": "admin",
      "description": "Administrator",
      "strict_password": 1,
      "permission": {
        "systems": [ "configure", "network", "device", "search", "backup" ],
        "cameras": [
          { "camera": 1, "view": true, "control": true },
          { "camera": 2, "view": true, "control": true },
          { "camera": 3, "view": true, "control": true },
          { "camera": 4, "view": true, "control": true }
        ]
      }
    },
    {
      "id": 2,
      "name": "guest",
      "description": "Guest",
      "strict_password": 1,
      "permission": {
        "systems": [ "network" ],
        "cameras": [
          { "camera": 1, "view": true, "control": false },
          { "camera": 2, "view": true, "control": false },
          { "camera": 3, "view": true, "control": false },
          { "camera": 4, "view": true, "control": false }
        ]
      }
    }
  ]
}

특정 사용자 정보

GET /api/users/:id

다음은 id1 인 사용자 정보를 얻어오는 예제입니다.

요청

GET /api/users/1 HTTP/1.1
Host: demo.nvrsw.com
Authorization: [Basic Authentication]
Content-Type: application/json

응답

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "name": "admin",
  "description": "Administrator",
  "strict_password": 1,
  "permission": {
    "systems": [ "configure", "network", "device", "search", "backup" ],
    "cameras": [
      { "camera": 1, "view": true, "control": true },
      { "camera": 2, "view": true, "control": true },
      { "camera": 3, "view": true, "control": true },
      { "camera": 4, "view": true, "control": true }
    ]
  }
}

사용자 추가

POST /api/users HTTP/1.1

다음은 namedooly 인 사용자를 추가하는 예제 입니다.

요청

POST /api/users
Host: demo.nvrsw.com
Authorization: [Basic Authentication]
Content-Type: application/json

{
  "name": "dooly",
  "password": "passwordfordooly",
  "description": "Danosaur Dooly",
  "permission": {
    "systems": [ "network" ],
    "cameras": [
      { "camera": 1, "view": true, "control": false },
      { "camera": 2, "view": true, "control": false },
      { "camera": 3, "view": true, "control": false },
      { "camera": 4, "view": true, "control": false }
    ]
  }
}

응답

HTTP/1.1 201 Created
Content-Type: application/json

{
  "name": "dooly",
  "description": "Danosaur Dooly",
  "strict_password": 1,
  "permission": {
    "systems": [ "network" ],
    "cameras": [
      { "camera": 1, "view": true, "control": false },
      { "camera": 2, "view": true, "control": false },
      { "camera": 3, "view": true, "control": false },
      { "camera": 4, "view": true, "control": false }
    ]
  }
}

사용자 수정

PUT /api/users/:id

다음은 id3 인 사용자의 암호와 설명을 수정하는 예제입니다.

요청

PUT /api/users/3 HTTP/1.1
Host: demo.nvrsw.com
Authorization: [Basic Authentication]
Content-Type: application/json

{
  "password": "newpassword"
  "description": "Dooly"
}

응답

HTTP/1.1 200 OK
Content-Type: application/json

{
  "name": "dooly",
  "description": "Dooly",
  "strict_password": 1,
  "permission": {
    "systems": [ "network" ],
    "cameras": [
      { "camera": 1, "view": true, "control": false },
      { "camera": 2, "view": true, "control": false },
      { "camera": 3, "view": true, "control": false },
      { "camera": 4, "view": true, "control": false }
    ]
  }
}

사용자 제거

DELETE /api/users/:id

다음은 id3 인 사용자를 제거하는 예제입니다.

요청

DELETE /api/users/3 HTTP/1.1
Host: demo.nvrsw.com
Authorization: [Basic Authentication]
Content-Type: application/json

응답

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 3
}

© NVRSW.com 2016-2018 Thu Sep 06 2018 15:39:38 GMT+0900 (대한민국 표준시)