2009-10-20 4 views
0

Как ограничить доступ к скриптам с помощью схемы разрешений? Я подумал о фф:доступ к скрипту через разрешения

  1. магазин разрешения как массивы с ключами в силу 2 (2, 4, 8, 16) и использовать битовые операторы для сравнения прав доступа пользователей с разрешениями, необходимыми для доступа сценарий
  2. хранит разрешения как строки и назначает набор разрешений скрипту. если пользователь пытается получить доступ к скрипту, выполняется поиск базы данных (для поиска разрешений пользователя)

У вас есть лучшие подходы к этому? Я попытался использовать побитовые операторы, и я увидел подход, который использует константы (т. Е. Const ADD_FORUM = 2), но я планирую разместить свои разрешения в файле конфигурации и установить их там, что позволяет мне вызывать его из любого скрипта.

Кстати, я использую Кохана, и я недавно начал развиваться в PHP ... Я решил построить свои собственные аутентификации LIB в Кохана

ответ

1

некоторые, где в файле конф:

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

в детали пользователя:

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

на странице, где вы должны проверить разрешение:

// 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'; 
+0

это хороший; попробуем это – yretuta

Смежные вопросы