tachybase_todo/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

88 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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**
```typescript
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
```typescript
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ı
```typescript
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
```typescript
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