Ekstensi

Access Control

Berikan akses granular ke skema (berdasarkan apakah pengguna sudah login, memiliki peran atau kemampuan tertentu, atau berdasarkan IP), untuk mengelola siapa yang dapat mengakses data apa.

Logo
Target Image

Click to watch tutorial video - 08:04

Tentukan Daftar Kontrol Akses untuk mengelola akses granular ke API bagi pengguna Anda.

Daftar Kontrol Akses

Ekstensi ini memungkinkan kita membuat Daftar Kontrol Akses, untuk mengelola siapa yang dapat mengakses berbagai elemen (operasi, field, dan direktif) dari skema GraphQL, menggunakan aturan-aturan berikut:

  • Nonaktifkan akses
  • Berikan akses hanya jika pengguna sudah login atau belum login
  • Berikan akses hanya jika pengguna memiliki peran tertentu
  • Berikan akses hanya jika pengguna memiliki kemampuan tertentu
  • Berikan akses hanya jika pengunjung berasal dari IP yang diizinkan
Editor Daftar Kontrol Akses
Editor Daftar Kontrol Akses

Kita menentukan aturan apa yang harus dipenuhi untuk mengakses elemen skema tertentu, dari antara operasi, field, field global, dan direktif.

Saat mengeksekusi sebuah GraphQL query, jika query tersebut mengandung salah satu elemen skema yang dipilih dalam Daftar Kontrol Akses, aturan-aturan yang dipilih akan dievaluasi.

Jika ada aturan yang tidak terpenuhi, akses ke operasi, field, atau direktif tersebut akan ditolak.

Mode Skema Publik/Privat

Ketika akses ke suatu field atau direktif ditolak melalui Kontrol Akses, ada 2 cara API dapat berperilaku:

Mode publik: Field-field dalam skema diekspos, dan ketika izin tidak terpenuhi, pengguna mendapatkan pesan kesalahan dengan deskripsi mengapa izin ditolak. Perilaku ini membuat metadata dari skema selalu tersedia.

Mode privat: Skema disesuaikan untuk setiap pengguna, hanya berisi field-field yang tersedia baginya, sehingga saat mencoba mengakses field yang dilarang, pesan kesalahan menyatakan bahwa field tersebut tidak ada. Perilaku ini hanya mengekspos metadata dari skema kepada pengguna yang dapat mengaksesnya.

Mode skema publik/privat individual

Misalnya, dalam mode publik, kita mungkin mendapatkan respons ini:

{
  "errors": [
    {
      "message": "You must have role 'author' to access field 'title' for type 'Post'",
      "locations": [
        {
          "line": 86,
          "column": 3
        }
      ]
    }
  ]
}

Sementara dalam mode privat kita mungkin mendapatkan respons ini:

{
  "errors": [
    {
      "message": "There is no field 'title' on type 'Post'",
      "locations": [
        {
          "line": 86,
          "column": 3
        }
      ]
    }
  ]
}

Beli bundel All-Inclusive

Personal
$79
/tahun
“All-Inclusive” bundel
Lisensi untuk 1 domain
Beli ->
  • 1 domain
  • Dukungan
  • Pembaruan produk
Organisasi
$99
/tahun
“All-Inclusive” bundel
Lisensi untuk 3 domain
Beli ->
  • 3 domain
  • Dukungan
  • Pembaruan produk
Profesional
$199
/tahun
“All-Inclusive” bundel
Lisensi untuk 10 domain
Beli ->
  • 10 domain
  • Dukungan
  • Pembaruan produk

Lisensi untuk 1 tahun (dapat diperbarui setiap tahun). Harga dalam USD.

Butuh lebih banyak domain? Hubungi kami

Jaminan uang kembali 30 hari

Beli ekstensi apa pun dengan keyakinan bahwa Anda dapat meminta pengembalian dana

Testimonial image

“Plugin ini benar-benar luar biasa! Membawa situs Anda ke level yang sepenuhnya baru dan mengubahnya menjadi mesin yang powerful. Semakin banyak Anda menjelajahi kemampuannya, semakin Anda akan terkesan. Kalau masih ragu—langsung ambil saja, Anda akan menyesal kalau tidak! Dokumentasinya berbicara sendiri dan sangat solid. Leo (sang developer) adalah salah satu developer paling cerdas dan paling sigap yang pernah saya temui. Dia sangat responsif dan jelas tahu apa yang dia lakukan. Saya benar-benar kagum dengan begitu banyak hal yang bisa dilakukan plugin ini. Kemungkinannya hampir tak terbatas, dan jika SEO penting bagi Anda, plugin ini akan membantu situs Anda meraih peringkat tinggi.”

olmate - Pengembang web

Berlangganan newsletter kami

Tetap update dengan semua pembaruan Gato GraphQL.