Je crée un système d'autorisation de sécurité pour un site de données dynamiques basé sur l'article Securing Dynamic Data Preview 4 Refresh. Le système contient un type d'autorisation supplémentaire: "refuser une opération pour un enregistrement/champ si un enregistrement n'appartient pas à un utilisateur".Créer dynamiquement des tables/colonnes en lecture seule/masquées dans ASP.NET DD
Si un utilisateur ne peut lire que ses propres objets, nous devons avoir un filtre toujours activé dans Liste et vérifier les autorisations dans Détails. Si un utilisateur peut écrire uniquement ses propres objets, nous devons vérifier les permissions dans Editer et Supprimer, supprimer les liens "Editer/Supprimer" de certaines lignes dans la liste, rendre le champ "Utilisateur" en lecture seule et fournir sa valeur dans Insérer. Je ne pensais pas encore aux permissions au niveau des colonnes de ce genre. Donc, le principal problème, comme je le vois en ce moment: trop d'endroits pour placer les mêmes vérifications (je ne pensais même pas aux données POST d'usager malveillant). Aussi je ne pouvais pas faire un champ dans Insert en même temps en lecture seule et avoir une valeur qui est affichée et sauvegardée dans DB (je ne veux pas placer cela dans les classes partielles du modèle car je pense qu'il y a déjà trop d'endroits qui doivent être modifiés pour implémenter cette fonctionnalité).
- Existe-t-il un seul endroit pour refuser une opération de lecture ou d'écriture avec un objet en fonction de la valeur de l'objet?
- Comment est-ce que je peux fournir une valeur par défaut au champ, de sorte qu'il sera montré sur la page d'insertion, inséré à la DB et ne pourrait pas être changé par l'utilisateur avant l'insertion?