izinler yoluyla komut dosyası erişimi

1 Cevap php

nasıl bir izin şemasını kullanarak komut erişimi kısıtlamak? Ben ff düşündüm:

  1. 2 (2, 4, 8, 16) güç tuşları ile diziler ve komut dosyası erişmek için gerekli izinlere sahip kullanıcı izinlerini karşılaştırmak için bitsel operatörleri kullanabilirsiniz mağaza izinleri
  2. mağaza dizeleri gibi izinleri ve bir komut dosyası için izinler kümesi atayabilirsiniz. Bir kullanıcı komut dosyası erişmeye çalıştığında, bir veritabanı arama (kullanıcı olan izinleri bakmak için) yapılır

Eğer bu bir iyi yaklaşımları var? Ben bitsel operatörleri kullanmak için çalıştı ve ben sabitleri kullanır (yani const ADD_FORUM = 2) ama bana herhangi bir komut onu aramak için izin, bir yapılveırma dosyasında benim izinleri koymak ve onları orada kurmayı planlıyorsanız bir yaklaşım gördüm.

btw, ben Kohana kullanıyorum ve ben son zamanlarda PHP geliştirmeye başladı ... Ben Kohana benim kendi auth lib inşa etmeye karar verdi

1 Cevap

conf dosyasında bazı durumlarda:

const('VIEW_FORUM', 1);
const('ADD_FORUM', 2);
const('DELETE_FORUM', 4);

kullanıcı ayrıntıları:

// read only user
$userPermissions = VIEW_FORUM;
// full access
$userPermissions = VIEW_FORUM + ADD_FORUM + DELETE_FORUM;

Eğer izinlerini kontrol etmeniz gerekir sayfada:

// permission ADD_FORUM is required  
if ($userPermissions & ADD_FORUM) echo 'all good';

// permission ADD_FORUM & DELETE is required  

if ($userPermissions & (ADD_FORUM + DELETE_FORUM)) echo 'all good';