PHP ve MySQL erişim ilkesi

1 Cevap php

Ben biraz kurulum nasıl benim masa üzerine karıştı. Ben onay kutusunu yoluyla seçilebilir üç rol var. Kullanıcı iki tane seçerse kaydı .... ... daha sonra bu sayfaları o bir ve üç sonra bu sayfaları seçtiyseniz, görünür olması ve gerekirken bunlardan seçer kimse sonra o yalnız olmadığını ...

Let us name the page 1 as client management Page 2 Invoice Management Page 3 View report

Bu üç ya da bir tane yeter i ayrı alanlar olmalıdır.

Teşekkürler

1 Cevap

Her roller için ayrı alanlar tutmak iyi bir fikir değildir. Eğer başka bir rol eklemek isterim eğer veritabanı yapısını güncellemek gerekir.

Siz IMO iki şey yapabilirsiniz:

SET field

Eğer yeni bir rol eklemek istiyorsanız kullanıcı sadece tek bir değer, bu hala değiştirme tablo gerektiren herhangi bir rolleri tanımlayabilirsiniz ama en azından başka bir alan eklemek olmayacak bir set alanı oluşturmak için Tablo

M:M table

M oluşturun: M kullanıcıları ile rolleri bağlayacak bu tabloya (çok çok), başka bir role eklemek istiyorsanız bu çözüm db değiştirme gerektirmez

CREATE TABLE `users` (
    id INT AUTO INCREMENT,
    login VARCHAR(100) NOT NULL,
    password CHAR(32) NOT NULL,
    PRIMARY KEY (id)
)

CREATE TABLE `roles` (
    id INT AUTO INCREMENT,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY (id)
)

CREATE TABLE `user_roles` (
    user_id INT,
    role_id INT
)

Ben de doğru kimlikleri bu tabloda olduğundan emin olacak kullanıcı rolleri masaya kısıtlama eklemek istiyorum ama sadece basit tutmak için bu örnekte ekleyebilirsiniz olmaz. Bulabilirsiniz bu konuda daha fazla bilgi here