mirror of
https://gitee.com/nocobase/nocobase.git
synced 2024-12-05 21:57:45 +08:00
ad4929e48b
* Turkish language created for Docs. Belgeler için türkçe dil desteği oluşturuldu. * Turkish docs fix
2.4 KiB
2.4 KiB
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