DEV Community 👩‍💻👨‍💻

Ali Buğra Okkalı for Açıklab

Posted on

Liman Üzerinde Fonksiyon Yetkileri

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.

Image description

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"
        }
],
Enter fullscreen mode Exit fullscreen mode

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
...
Enter fullscreen mode Exit fullscreen mode

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.

Image description

  • Yetkili Kullanıcı

Aynı kullanıcıya Administrator hesabı ile arayüzden fonksiyon yetkisi verelim.

Image description

Kullanıcı uyarı mesajı yerine butonu görebilir hale geldi.

Image description

Top comments (0)

🤔 Did you know?

 
🌚 You can turn on dark mode in Settings