Bir uygulama arkaplanı için yapmak ne seçimler

2 Cevap php

Ben arka uç seçimler yapmak için başladım noktada bir web uygulaması ve ben yaratıyorum. Şimdi orada bu ile gitmek için pek çok yolu vardır, bu yüzden bazı iyi noktaları ve geri uygulamalar arıyorum.

I dahil olan sorunun bazıları:

  • I yönetici kullanıcılar için db ayrı tablo yapmak gerekir
  • I yönetici veri ve normal veri yüklemek için bazı sınıfları yapmak, ya da yönetici bölüm için ayrı sınıfları yapmak genişletmek gerekir
  • I kullanıcılara farklı yapma hakkında bazı bilgi alabilirsiniz
  • Bir arkaplanı için sadece bazı en iyi uygulamaları

Benim uygulama bir MySQL veritabanı PHP ile yazılmış.

2 Cevap

Yönetici kullanıcılar için ayrı bir tablo tutmak güzel, ama bu yönetici kullanıcıları değil sadece "normal" kullanıcıların yanı sıra - aksi takdirde benzersiz adları / kimlikler tutmaya çalışıyorum kendi ayak üzerinde adım olacak ama biraz bağlanır.

Düşünün bir kaç şey:

  • Apache authentication yönetici kullanıcılar için (veya Windows IIS üzerinde hesapları). Ayrı bir sistem ama tamamen örtüşme sağlar - normal bir kullanıcı normal bir kullanıcı olabilir, ama onlar tarayıcısı üzerinden kimlik doğrulaması kadar herhangi bir yönetici işlevsellik erişemez. Sadece kullanıcı rolü (örneğin üye ve yalnızca yönetici) bir çift belirli türde varsa gayet iyi çalışıyor.

  • Tek bir tabloda, ancak rolleri ve izinleri ile tüm kullanıcıların ayrı. İhtiyacınız kadar granül alabilirsiniz çünkü bu en esnek. Örneğin, kullanıcı "post comments," bir yönetici "açıklamaları silme" olurken ve "kullanıcıların yasağı," ama bir moderatör sadece "yorumlar askıya" ve can "dilsiz kullanıcıları." Eğer yeni özellikler eklemek gibi, sadece bazı yeni izinler ve uygulanması meselesi rollere atayarak. Drupal 's access control Bu gerçekten iyi değer, yakın bir göz yapar.

Bunu yapmak için iyi bir yol gerekiyorsa normal kullanıcılar ve personeli ayırt etmek için, ve muhtemelen vb moderatörü, yönetici gibi farklı bir personel düzeyleri arasında 'rütbe' için kullanıcıların tabloya yeni bir alan eklemek için o. Bir yönetici, bir kullanıcı kutu tüm işlevlerini gerçekleştirmek mümkün olmalıdır çünkü. Kullanım

class Admin extends User { }

Eğer personel üyelerine özel ek işlevsellik eklemek istiyorsanız.

Backend işlevler için, sitenizin nasıl kurulduğuna bağlıdır. Eğer bir çerçeve kullanarak ediyorsanız, sadece mevcut kontrol için yeni fonksiyonlar eklemek ve belirli bir rütbe ile yalnızca kullanıcılara erişimi kısıtlayabilirsiniz.

Örneğin, ForumPost nesneler için bir denetleyici olabilir, ama ForumPost () işlevini silme çağrısı yapan bir moderatör olmak için kullanıcı gerektirir.

Eğer bir çerçeve kullanarak değilseniz, muhtemelen ihtiyacınız her backend fonksiyonu için kendi sayfaları yapmak gerekecek.