Bir Liman eklentisinde fonksiyon yetkilendirmesinin nasıl yapıldığını inceleyeceğiz.
Örnek olarak Training eklentisindeki "Task Çalıştır" butonunu yetkiye göre görünür hale getirelim.
db.json
db.json'a aşağıdaki array'i ekleyelim. Array'in her bir elemanı bir fonksiyon yetkisine karşılık gelir.
name: Fonksiyon Adı
description: Açıklama
isActive: Yetki Sistemine Dahil Et
display: Sunucu Loglarında Görüntüle
"functions": [
{
"name": "runTask",
"description": "RUN_TASK",
"isActive": "true",
"display": "true"
}
],
views/taskview/main.blade.php
Butonun olduğu dosyaya gidip butonu db.json'da tanımladığımız fonksiyon yetkisi ile bağlayalım.
...
@if(can('runTask'))
<button class="btn btn-primary" onclick="exampleTask()"><i class="fas fa-check-circle"></i> {{ __("Task çalıştır") }}</button>
@else
<b> Task Çalıştırmak İçin Yetkiniz Yok ! </b>
@endif
...
Test
- Yetkisiz Kullanıcı
Liman arayüzünden yeni bir kullanıcı oluşturalım. Eklentinin çalıştığı sunucuya ve eklentiye yetki verelim. O kullanıcı ile giriş yaptığımızda eklentide butonun yerine bir uyarı mesajı olduğunu görebiliriz.
- Yetkili Kullanıcı
Aynı kullanıcıya Administrator hesabı ile arayüzden fonksiyon yetkisi verelim.
Kullanıcı uyarı mesajı yerine butonu görebilir hale geldi.