Burada çeşitli kavramlar hakkında düşünmemiz gerekiyor. İlk bir erişim kontrol listesi olacaktır (ACL) ve daha sonra ikinci bir kimlik olacaktır.
ACL'deki, bir kaynağa erişim isteyebilir nesnelerdir size erişim ve roles kısıtlamak istediğiniz nesneleri, hangi, resources tanımlar.
Ben ACL uygulamak yolu kullanarak Zend_Acl. Edilir I user_roles
adında bir tablo var
user_roles('user_role_id', 'name', 'permissions', 'parent_role_id')`
Ben de bir kullanıcı rolü kimliğine bir kullanıcının kimliğini haritalar user_role_maps
adında bir tablo var. (Sadece kullanıcı masada bir sütunu olarak bu olabilir, ama bu sadece ;-) normalleşme hakkında hissediyorum nasıl bağlıdır.) Bir kullanıcı kimlik doğrulaması zaman ben, daha sonra bu tablodan benim Zend_Acl nesnesi oluşturmak ve, ben can onlar izin ve ne bir kaynak üzerinde gerçekleştirebileceğiniz eylemler var hangi kaynakları belirlemek. (Bir kaynak uygular Zend_Acl_Resource_Interface
bu yüzden bir kaynak olarak Zend_Acl
ile tanımlanabilir.
Kimlik doğrulaması için, bu muhtemelen kendinizi belirteç eşleşen kimlik doğrulama sisteminin bazı formu anladım, (bence) basit bir kavramdır. Önemli yönü rollerini belirlemek için kimliği doğrulanmış kullanıcının kimliğini kullanıyor. Zend Framework de Zend_Auth Bu bir paket sağlar.
Burada Zend Framework öneriler bir sürü kullandım, bunun nedeni onların paketleri Ben diğer çerçeveler kullanmak olabilir ACL paketleri sağlamak eminim içeri oldukça basit bileşenleri takmak için yapım, diğer paketlerin üzerinde çok az bağımlılıkları olması Eğer zaman ve anlayış varsa, ya da kendi dışarı rulo.
İyi Şanslar.