Sécuriser les listes
Pour sécuriser une liste, vous devez configurer les autorisations de table pour la table dont les enregistrements sont affichés.
À partir de la version 9.3.7.x, les sites web nouvellement créés auront des autorisations de table appliquées pour toutes les formes et les listes indépendamment du paramètre Activer les autorisations de table.
Note
Les modifications décrites ci-dessus s’appliquent également aux sites convertis de l’essai à la production.
Pour configurer explicitement l’accès anonyme, utilisez les autorisations de table, et se rapportent au rôle web Utilisateurs anonymes ou un rôle Web personnalisé avec l’option Rôle des utilisateurs anonymes.
La sécurisation de votre liste garantira que les utilisateurs ne voient que les enregistrements pour lesquels ils disposent d’autorisations.
La sécurisation des données relatives à des utilisateurs spécifiques (ou à leurs comptes associés) s’effectue en ajoutant une relation entre la table et soit la table Contact ou Compte dans laquelle seuls les utilisateurs du portail ayant une relation avec ces enregistrements pourront accéder aux données à l’aide du type d’autorisation de table Compte ou Contact, et la configuration des privilèges appropriés et l’association de rôles Web à l’autorisation de table.
Une conception de site Web efficace nécessite que, si un utilisateur n’a pas de rôle avec des autorisations pour la table (c’est-à-dire, il ne pourra en aucun cas afficher des enregistrements), il ne doit pas avoir accès à la page. Dans l’idéal, la page doit également être protégée avec les autorisations de page.
Si vous souhaitez afficher les actions au niveau des enregistrements applicables à l’utilisateur connecté, vous devez définir la valeur du paramètre EntityList/ShowRecordLevelActions du site sur true.
Par exemple, il y a deux utilisateurs : Preston et Teddy. Preston dispose d’un accès de niveau contact à tous sur la table Incident, tandis que Teddy dispose d’un accès en lecture global. Si une liste est créée pour afficher tous les enregistrements d’incident, Preston verra toutes les actions (Afficher, Modifier et Supprimer) sur les enregistrements qui sont liés à son contact. Sur d’autres enregistrements, il ne verrait que l’action Vue. D’un autre côté, Teddy ne verrait que l’action Vue sur tous les enregistrements.
Si le paramètre du site EntityList/ShowRecordLevelActions est défini sur false et la table a plusieurs autorisations, toutes les actions au niveau de l’enregistrement sont visibles. Mais, quand un utilisateur tente d’effectuer une action sans autorisation, une erreur s’affiche.