I'am bir PHP üzerinde çalışan + MySQL Sosyal Ağ uygulaması, şimdi ben (okumak, oluşturmak, düzenlemek, silmek) küresel için (tüm öğeleri) ve / veya her biri için kendi ürün (kendileri tarafından oluşturulan madde) kurulum farklı erişim kontrolü gerekir grup veya belirli bir kullanıcı için modül.
Herkes bu (tablo yapıları, vb) yaparken önerileri var mı?
tamam burada ben şu anda ben bir tbl_module, tbl_user ve tbl_user_role var, daha fazla ayrıntı sağlayabilir. Her kullanıcı ve rol belirli modülüne farklı erişebilirsiniz.
- okumak
- güncelleştirme
- oluşturmak
- silmek
ve küresel erişim veya öz (kendi hesabına veya kendileri tarafından oluşturulan kayıtların) sadece tarafından devided.
ve benim şimdiki yaklaşım: i erişim detay tutmak için başka bir tablo oluşturun:
- acl_uid
- MOD_ID (fk modülü uid)
- target_id (fk kullanıcı sıvı veya rol uid)
- acl_type (hedef kimliği başvurusu tanımlamak için kullanıcı / rol)
- acl_okumak
- acl_güncelleştirme
- acl_oluşturmak
- acl_silmek
acl_read, acl_güncelleştirme, acl_oluşturmak, acl_silmek değer aralıkları:
- 0 inkar
- 1 izin
- 2 (kullanıcı değeri 2 varsa o role bakın) daha düşük öncelikli check bakın
- 3 kendilik sadece
ben bu çözmek için daha verimli bir şekilde gidecekseniz, ya da benim şimdiki yaklaşımı bir gelişme olabilir inanıyoruz.
yanıtları için teşekkürler.