PHP MySQL Zend-ACL - Grafiksel ekran ACL:

0 Cevap php

Ben aşağıdaki gibi bir MySQL DB tablo var, resources table:

id | name | type

1 | guest | user

2 | member | user

3 | moderator | user

4 | owner | user

5 | admin | user

6 | index | controller


Sonraki tablonun üzerine, rules table:

id | user_id | rule | resource_id | extras

1 | 2 | 3 | 1 | null

2 | 3 | 3 | 2 | null

3 | 4 | 3 | 3 | null

4 | 5 | 3 | 4 | null

5 | 6 | 1 | 1 | index,login,register

6 | 6 | 2 | 2 | login,register

7 | 6 | 1 | 2 | logout


OK, sorry for the length, but I am trying to give a full picture of what I am trying to do. So the way it works, a role (aka user) can be granted (rule: 1) access to a controller, a role can inherit (rule: 3) access from another role or a role and be denied (rule: 2) access to a controller. (A user is a resource and a controller is a resource)

Eylemlere erişim verilen / ekstralar sütunu kullanarak yalanladı.

Bu, tüm işleri, Zend içinde ACL kurmak ile bir sorun değil.


Ne şimdi yapmaya çalışıyorum ilişkileri göstermek olduğunu; Ben bir rolü açıkça kaldırıldı eğer durdurma denetleyicisi erişim verilir düşük seviyesini bulmak gerekir yapmak için. Ben rolleri listeleme planlıyoruz. Bir rol tıkladığınızda, ben rol erişimi olan tüm kontrolörleri göstermek istiyorum. Sonra rol yapmak için izin eylemleri bir denetleyici gösterir tıklayarak.

So in the example above, a guest is allowed to view the index action of the index controller along with the login action. A member inherits the same access, but is then denied access to the login action and register action. A moderator inherits the rules of a member.

Ben rol moderatör seçmek için eğer öyleyse. Ben denetleyicisi dizin listede görmek istiyorum. Index: Ben denetleyicisi tıklarsanız, bu eylem olarak izin verilen eylemleri göstermelidir. (which was originally granted to the guest, but hasn't since been dissallowed)

Is there any examples to doing this. I am obviously working with the Zend MVC (PHP) and MySQL. Even just a persudo code example would be a helpful starting point - this is one of the last parts of the jigsaw I am putting together.

P.S. Açıkçası ben ACL nesne var - o interigate daha kolay olacak ya da PHP / MySQL üzerinden bunu benim kendi yapmak daha iyidir?

The aim will be, show what a role can access which will then allow me to add or edit a role, controller and action in a GUI style (that is somewhat the easy bit) - currently I am updating the DB manually as I have been building the site.

0 Cevap