Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-06-14 09:37:16

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Koncepcja ACL [PHP][SQL]

Witam
poszukuję sposobu na rozwiązanie ACL w tworzonym CMS ,chciałbym by użytkownikowi mógł przyznawać prawa podobnie jak to jest w forum phpbb3 ,czy zablokować edycje tworzonych postów , nadać dostęp tylko do określonych działów serwisu itp , zapoznałem się z phpgacl ,ale sam skrypt średnio mi się spodobał, ponieważ generuje bardzo dużą ilość zapytań do SQL ,(czasami po 400 )

Offline

 

#2  2011-06-14 12:03:50

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Koncepcja ACL [PHP][SQL]

http://artykuly.zyxist.com/czytaj.php/system_uprawnien_w_php  , pasuje?

3 wynik w google po wpisaniu "php acl". Nie rozumiem jak może być szybciej machnąć posta na forum niż wpisać 2 słowa w googlach.

Offline

 

#3  2011-06-14 18:28:08

  tabi19 - Użytkownik

tabi19
Użytkownik
Skąd: Praszka (Opolskie)
Zarejestrowany: 2010-09-24

Re: Koncepcja ACL [PHP][SQL]

Skoro sam tworzysz CMS, to nie lepiej napisać coś autorskiego, specjalnie na Twoje potrzeby ?

Pozdrawiam

Offline

 

#4  2011-06-15 11:02:58

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Koncepcja ACL [PHP][SQL]

mozesz zastosowac ACL'a z Zend Frameworka


LRU #480459

Offline

 

#5  2011-06-19 12:53:56

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Koncepcja ACL [PHP][SQL]

hmmm.. czy tak trudno dodać kolumnę do bazy z userami o nazwie alevel i do tego klasę regulującą poziomy?

Dlaczego korzystać z gotowców skoro można to zrobić samemu. Jak zrobisz to sam to doskonalisz swój tok rozumowania/programowania. Zresztą jeśli sam to zrobisz kto wie czy nie zrobisz tego lepiej.

Ostatnio edytowany przez blinki (2011-06-19 12:55:48)


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#6  2011-06-19 17:04:34

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Koncepcja ACL [PHP][SQL]

@blinki, frameworki powstaly po to, aby nie robic 1000x tego samo i zeby szybciej tworzyc oprogramowanie, wlasnie dla tego a jezeli Ty masz czas to prosze bardzo mozesz doktoryzowac


LRU #480459

Offline

 

#7  2011-06-19 18:09:54

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Koncepcja ACL [PHP][SQL]

Nie ma się co rozwodzić i kłócić, sam autor postu wydaje się nie być zainteresowany.

Offline

 

#8  2011-06-19 23:18:38

  blinki - Użytkownik

blinki
Użytkownik
Skąd: Wschowa/Gdańsk
Zarejestrowany: 2009-04-09
Serwis

Re: Koncepcja ACL [PHP][SQL]

No tak, ale robiąc CMS chcesz wprowadzić coś nowego coś SWOJEGO, używanie gotowców w tym przypadku mija się z celem. Ja bym się lepiej czół jak by zrobił ten system sam (niema co ukrywać ciężki i praco chłonny)

moja wizja by była taka,
SQL

Kod:

create table grupy (`id` int not null auto_increment, `nazwa` varchar(30) not null, `read` text not null, `write` text not null, `lock` text not null, primary key(id))

Kod:

create table członkowie_grup (`id` int not null auto_increment, `user_id` int not null, `grupa_id` int not null, `owner` int not null, primary key (id))

przy tworzeniu i edycji grupy były by check boxy z prawami do elementów frontend'u i backend'u. A potem tylko klasa kontrolująca dostęp do poszczególnych elementów.


Platforma Systemowa: Debian 5.0 lenny | KDE 4.3.2
PC: FS Amilo li 3710 | DualCore 2.0GHz/3GB/Intel GMA X4500
Przeglądarka: Opera (Firefox sux^^)

Offline

 

#9  2011-06-20 08:52:27

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Koncepcja ACL [PHP][SQL]

kamikaze napisał(-a):

Nie ma się co rozwodzić i kłócić, sam autor postu wydaje się nie być zainteresowany.

sam autor postu w pocie czoła napisał:)

Kod:

CREATE TABLE `acl_action` (
  `id_action` mediumint(8) unsigned NOT NULL auto_increment,
  `id_module` smallint(4) unsigned NOT NULL,
  `action` varchar(32) NOT NULL,
  `inherited` tinyint(1) NOT NULL,
  PRIMARY KEY  (`id_action`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- 
-- Struktura tabeli dla  `acl_resources`
-- 

CREATE TABLE `acl_resources` (
  `id_action` mediumint(8) unsigned NOT NULL auto_increment,    -- edit 
  `id_module` smallint(4) unsigned NOT NULL,                    -- post
  `id_resource` int(10) NOT NULL,                                -- id = 10
  `allow` tinyint(1) NOT NULL,
  PRIMARY KEY  (`id_action`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- 
-- Struktura tabeli dla  `acl_module`
-- 

CREATE TABLE `acl_module` (
  `id_module` smallint(4) unsigned NOT NULL auto_increment,
  `module` varchar(32) NOT NULL,
  PRIMARY KEY  (`id_module`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- 
-- Struktura tabeli dla  `acl_roles`
-- 

CREATE TABLE `acl_roles` (
  `id_group` int(10) unsigned NOT NULL,
  `id_module` smallint(4) unsigned NOT NULL,
  `id_action` mediumint(8) unsigned NOT NULL,
  `allow` tinyint(1) NOT NULL,
  PRIMARY KEY  (`id_group`,`id_module`,`id_action`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



SELECT allow, m.module , a.action 
FROM acl_roles r 

LEFT JOIN acl_module m ON ( r.id_module = m.id_module ) 
LEFT JOIN acl_action a ON ( r.id_action = a.id_action ) 
LEFT JOIN users u ON ( r.id_group = u.group_id ) 
WHERE u.id = 2 
AND m.module = 'admin' 
AND a.action = 'page'

coś takiego znalezionego w necie , na chwile obecną zdaje egzamin ,a dodatkwo wspomagane memcached nie zamula serwera

Offline

 

#10  2011-06-20 09:12:38

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Koncepcja ACL [PHP][SQL]

No i super. Blinki trochę cienka ta twoja wizja i jakby ma niewiele wspólnego z ACL. No i pola text dla checkboxów, ble.

Offline

 

#11  2012-01-15 12:01:29

  szewczyk - Stary wyjadacz :P

szewczyk
Stary wyjadacz :P
Zarejestrowany: 2006-12-03

Re: Koncepcja ACL [PHP][SQL]

[edit]

Ostatnio edytowany przez szewczyk (2012-01-15 18:02:20)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)