Je construis un petit projet avec une base de données. J'ai une table d'utilisateur qui a deux colonnes, user_id
et name
, La deuxième table stocke l'ID et le nom de certains documents: il a également deux colonnes doc_id
et doc_name
. Je souhaite accorder l'accès d'un utilisateur spécifique à des documents (multiples) spécifiques.Accorder l'accès d'un utilisateur spécifique à des documents (multiples) spécifiques
Par exemple:
user1
peuvent accéder doc_2
et doc_3
seulement.
user2
peut accéder doc_1
et doc_2
Seulement et ainsi de suite. Les utilisateurs et les formulaires ne cessent de changer (par exemple, après un certain temps, j'ai besoin d'ajouter un nouveau document et d'ajouter l'accès à un nouvel utilisateur à ce nouveau document).
Dois-je changer la conception de la base de données? (par exemple ajouter une colonne dans docs pour stocker le nom de chaque utilisateur qui peut y accéder?) Si c'est le cas, pouvez-vous me dire quels changements je devrais faire?
OU
Est-il possible de le faire en créant des points de vue? Dans ce cas, dois-je encore changer la conception de la base de données? Si tel est le cas, pouvez-vous me donner un exemple de vue s'il vous plaît? Dans ce cas, aurai-je besoin de créer une vue pour chaque utilisateur? Par exemple, s'il y a 100 utilisateurs, je devrai créer 100 vues?
merci. est-ce possible avec des vues? – sunjie
Vous pouvez utiliser une vue pour représenter les utilisateurs et leurs autorisations, mais vous devez toujours créer cette troisième table et la remplir en conséquence. Les vues ne peuvent être utiles que si elles ont des données non représentées à représenter. – Widor