I am going to be building a web app soon where I will need to have a security model such that different users have access to different parts of the application and/or different sets of data within those specific parts of the app. I am debating between the following two methods of implementing security:
White List: By default users have access to nothing and are granted access to the things they need.
or
Black List: By default users have access to everything and their access is removed from the things that they do not need.
Is there a best-practice on which method is preferred? If there is another method that would better address this problem that would be interesting to know as well.
Thanks.
From the classic paper ‘The Protection of Information in Computer Systems’ (Saltzer & Schroeder 1975), which describes eight important design principles, one of which is: