Check function permissions before enabling a button / Performance ?
You are right. In a beginning I did not put a high priority to that, also for performance reasons. But in a near future I will probably do a permission check before showing the buttons. In that case I will disable them. But first I will check how much time it takes to check the permission for a button before disabling it.
Thank you for the hint !
Why present the user with options if they can't use them?
I'm not saying they should be visible for this particular app, but in the app I build there are around 500 different rights that can be enabled on an account or account group level. Combine that with thousands of users, all divided into groups that require different permission levels, and it becomes very hard (on a conceptual level) to correctly manage permissions across the whole user base and give everyone the access they need. To avoid confusion, we often leave menu items visible and enabled if the user doesn't have the appropriate set of permissions for the underlying feature. The permissions error tells the user and their administrator exactly why they can't use that piece of functionality. Saves a lot on support requests.