nocobase/docs/tr-TR/api/acl/acl-role.md
altaytahsin ad4929e48b
Turkish language created for Docs. Belgeler için türkçe dil desteği (#1071)
* Turkish language created for Docs. Belgeler için türkçe dil desteği oluşturuldu.

* Turkish docs fix
2022-12-23 09:42:44 +08:00

2.4 KiB
Raw Blame History

Erişim Kontrol Listesi Rol

Erişim Kontrol Listesi Rolü, Erişim Kontrol Listesi sistemindeki kullanıcı rolü sınıfıdır. Erişim Kontrol Listesi sisteminde roller genellikle 'acl.define' kullanılarak tanımlanır.

Sınıf yönetimi

constructor()

Yapıcı metod

Kullanım

  • constructor(public acl: ACL, public name: string)

Detaylar

  • acl - ACL Örnek
  • name - Rol adı

grantAction()

Role İşlemler izni ver

Kullanım

  • grantAction(path: string, options?: RoleActionParams)

Tip

interface RoleActionParams {
  fields?: string[];
  filter?: any;
  own?: boolean;
  whitelist?: string[];
  blacklist?: string[];
  [key: string]: any;
}

Detaylar

  • yol - kaynak Eylem yolu. Örneğin "gönderiler" kaynağının "düzenle" Eylemini temsil eden, kaynak adı ile Eylem arasında bir ":" iki nokta üst üste işaretiyle ayrılır. "gönderiler:düzenle" gibi.

RoleActionParams yetkilendirme olduğunda daha ayrıntılı izin kontrolü elde etmek için ilgili eylemin yapılandırılabilir parametreleri kullanılır.

  • fields - erişilebilir alanlar
    acl.define({
      role: 'admin',
      actions: {
        'posts:view': {
          // yönetici kullanıcılar gönderiler talep edebilir: işlemi görüntüleme, ancak yalnızca alanlar tarafından yapılandırılmış alan izinlerine sahip olma
          fields: ["id", "title", "content"], 
        },
      },
    });
    
  • filter - İzin kaynağı filtreleme yapılandırması
    acl.define({
      role: 'admin',
      actions: {
        'posts:view': {
          // Yönetici kullanıcı posts:view eylemini talep edebilir, ancak listelenen sonuçların filtre tarafından belirlenen koşulları karşılaması gerekir.
          filter: {
            createdById: '{{ ctx.state.currentUser.id }}', // Şablon sözdizimini destekleyen izin değerlendirildiğinde değiştirilecek olan değeri ctx cinsinden alabilirsiniz.
          },
        },
      },
    });
    
  • Kendi - Yalnızca kendi verilerinize erişip erişemeyeceğinizi
    const actionsWithOwn = {
      'posts:view': {
        "own": true // 
       }
    }
    
    // Eşittir
    const actionsWithFilter =  {
      'posts:view': {
        "filter": {
          "createdById": "{{ ctx.state.currentUser.id }}"
        }
      }
    }
    
  • beyaz liste - beyaz liste, yalnızca beyaz listedeki alanlara erişilebilir
  • kara liste - kara liste, kara listedeki alanlara erişilemez