Izinleriyle üye erişimi kısıtlamak için PHP kodu

1 Cevap php

PHP ve bir web sitesi inşa ediyorum mySQL. Bu önyüzü ve arka plan yetenekleri vardır. Sadece yönetici kullanıcı adı ve şifre ile backend girebilirsiniz. Admin web sitesine diğer alt-adminler eklemek istiyorsa Şimdi, o kadar yapabilirdi. Bu yöntemle, bir alt-admin orijinal yönetici yapmak mümkün olduğunu bütün eylemleri giriş ve gerçekleştirmek mümkün olacak.

WHAT I WANT TO DO:

Ben seçimimi de alt yöneticilerden erişimi kısıtlamak ve admin panelinden sadece belirli bölümlerini erişebilir, böylece onları izinleri atamak istiyorum.

EXAMPLE OF THE FEATURE THAT I AM TALKING ABOUT:

Conskimliker that I have the following links accessible by original admin. 1. Add articles 2. Approve articles 3. Delete Articles 4. Add User 5. Edit user 6. Delete User 7. Change site settings 8. View Financial info 9. Mail center

Ben herhangi izinlerini ayarlamak yoksa, o zaman tüm alt-adminleri yukarıdaki bağlantılardan tüm erişim mümkün olacak. Ben 2 alt Yöneticinizleri 'Davkimlik' ve 'Bob' yaratmak demek.

Şimdi Davkimlik backend sadece aşağıdaki istenen bölümlere erişmek istiyorsanız:

  1. Yazılar eklemek, 4.. Kullanıcı Ekle, 7. Değişim site ayarları

Şimdi Bob arka uç sadece aşağıdaki istenen bölümlere erişmek istiyorsanız:

  1. Yazılar eklemek, 2., 3. makaleler Onayla. Makaleler, 4. silin. Kullanıcı, 9. ekleyin. Mail merkezi

Davkimlik ve Bob, ve görmek gerekir, oysa ben, orijinal yönetici olmanın, tüm bölümleri erişmek mümkün olmalıdır kendilerine tahsis edilmiş erişim sadece bağlantıları ve sayfaları (veya işlevi). Bunu yapmak için nasıl bir ipucu yok. Ben sadece sayfa 'makalelerin Ekle' erişmek için bir alt-admin kısıtlamak istiyorsanız Ayrıca, örneğin, o zaman ben de add_articles_next.php o (giriş makaleleri ekle sayfada olduğunu düşünüyor) nakleder ki ona sayfasına erişmek istiyor sayfa. Ayrıca 'add_articles_next.php sayfa' bağlantılarından listesinde yerde görünmüyor unutmayın. Bu sadece alt yönetici erişimi olan sayfasından yayınlanan bir sayfasıdır.

Ben açıkça belirtmek sürece bilmek sistemi için hiçbir şekilde olduğunu anlıyorum, ama evet, bu benim soru. Nasıl yapılacak? Ben bir nesne yönelimli bir kişi değilim, bu yüzden fonksiyonları kullanarak PHP kodu benim için harika olacak.

OTHER LIVE EXAMPLES OF THE FEATURE THAT I AM TALKING ABOUT:

Bu konuyu araştırma yaparken bir özellik geldi. Click here to visit it. Bu biraz benzer özellik gibi görünüyor.

Bana verebileceğiniz herhangi bir kod için şimdkimliken teşekkür ederiz.

1 Cevap

Bu daha önce SO birkaç kez istendi. Aramak için anahtar kelime Erişim Kontrol Listesi (ACL) 'dir. ACL için en önemli PHP çözümlerden biridir Zend_ACL. Bu çok genel ve senin ihtiyaçlarına özelleştirmek için imkan vermelidir.

Edit regarding your comment about object oriented libraries:

Odaklı piyasada PHP için çok az iyi ACL olduğu gibi çok, çok zor olacak nesne değil, bir ACL çözüm bulma ve en modern uygulamalar daha alarak ya vardır (Zend bildiğim sadece bir, gerçekten hakkında) daha az nesne yönelimli yaklaşım. Ama öğreticiler kontrol, merak etmeyin. Ben bir işlev odaklı app Zend_Acl kullanırken hiçbir sorun olacağını düşünüyorum. OOP üzerinden ACL konuşmak gerekir, ama bu kolay. Seni çok app değiştirmek zorunda sanmıyorum. Bir deneyin, ve genel bir not, temel OOP öğrenmek zor değildir. Sadece PHP kılavuzda iyi bir okuma içinde "Sınıflar ve Nesneler" bölümüne verin.