DEV Community

Ali Buğra Okkalı for Açıklab

Posted on

5 1

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

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs