C'est une plante vivace de question pour moi que je n'ai jamais vraiment résolu donc je voudrais votre avis. Si j'ai des actions que je connais un utilisateur ne sera pas en mesure d'effectuer en raison de l'insuffisance des privilèges ou de l'état de l'objet, si les éléments de l'INTERFACE utilisateur pour les actions être cachée à l'utilisateur, visible mais désactivé, ou visible et provoque une erreur si la tentative? Quelle serait la justification de votre réponse? Si elle est désactivée, voulez-vous communiquer la raison et, si oui, comment?
C'est une interface web, donc je sais déjà que j'ai besoin de vérifier les entrants post/get pour les autorisations et la gestion des erreurs de toute façon. Je fais d'abord parler de la façon de gérer l'INTERFACE utilisateur.
Ceci est similaire à http://stackoverflow.com/questions/79033/rules-about-disabling-or-hiding-menu-items, si je suis intéressé par tous les types d'éléments de l'INTERFACE utilisateur et pas seulement les menus.
Exemples:
J'ai une Nouvelle page qui permet à un utilisateur pour créer un nouvel Événement. Les événements peuvent être le maître des événements ou des événements. La création d'un master de l'événement exige "EditMasterEvent" privilège, tout en créant un subevent exige seulement "EditEvent" privilège. J'ai une liste déroulante qui permet de choisir un événement existant en tant que parent (master) ou aucun parent (c'est un maître de l'événement). Si le "Master Événement" les choix être indiqué sur la liste déroulante ou omis si l'utilisateur n'a "EditEvent" privilèges.
Suppression d'événements exige que vous soyez un administrateur de l'application ou disposer de l'autorisation de modification pour le type d'événement. Dans ce dernier cas, l'événement doit également être de plus de 5 ans. Suppression d'un événement causes d'importantes suppressions en cascade de données dans le système et pour des raisons juridiques, ces données doivent être conservées pendant au moins 5 ans après l'événement. Depuis cette opération est rare pour l'utilisateur normal, le cas typique, c'est que l'action n'est pas disponible. Devrait-il être montré toujours ou uniquement lorsqu'il réellement possible?