Oct. 19th, 2009

wizzard: (Default)

эта вся фигня так проста идеологически и так сложна в подробностях реализации, блин…

wizzard: (Default)

ну в общем так:

обьект вида {value: (“data”, [(“childrenName”:{object})]), permissions: [(”identity”,”kind”,”A/D”)], owner: “identity”}

permission kinds: read value, write value, read permissions, write permissions, read owner, write owner

identities: (username), (user->groupname), (owner), (all)

процесс проверки пермишнов:
спускаемся от корня, накапливая dictionary (identity->permission->allow/deny), при этом allow/deny не имеют особого приоритета друг над другом, кто ниже - тот и выиграл. наличие deny равнозначно отсутствию allow, если хоть в одной группе, к которым принадлежит юзер, есть allow, то разрешение выдается.

при изменении value - owner не меняется, при создании owner наследуется от корня. меняется owner явным образом.

да, можно удалять подобьект обьекта, которым ты владеешь, даже если ты не владеешь никакими правами на него. Но нельзя читать, изменять или изменять права :)

user->groupname символизирует то, что группы всегда создаются пользователями

UPD: наверное стоит поменять пермишны на "allow/deny/inherit" и разрешать если есть хоть один allow и нету ни одного deny, это более традиционно

wizzard: (Default)

…Как только мы переходим к практическому применению данной фичи, стройная теория теряет радужные тона и довольно быстро сваливается в вонючую помойку под названием "как обычно".

m00d

Oct. 19th, 2009 10:52 pm
wizzard: (Default)

меня снова прет и я снова хочу делать виртуальные миры, это конечно круто и inspirational, но концентрации внимания от этого становится еще меньше, а расп%%%яйства еще больше %)

эту б энергию да в мирное русло, как говорится.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 7th, 2026 09:34 am
Powered by Dreamwidth Studios