I'm developing an application to store and manage files, passwords, things like that. Currently I'm thinking about how to handle access to this data (since it may be the case that you don't want anyone being able to view these things); my initial thought was a "security level" system; every user has a security level (given by an administrator), which is actually just a number between 0 and X. When uploading files, storing passwords, etc. you can specify the required security level. For example: user X has a security level of 10 - hence he can look at all data which requirements are equal or lower than 10. Every data with a security level requirement above this won't show up.
My concerns here are: it could get tricky if you have a lot of different security levels. At some point the administrator is probably like "well, what security level does this need to be viewable by managers but not for senior developers? 50? 100?". Kind of a solution to this problem would be to store security levels by name. So you could manage security levels by value and by name; e.g. security level 1 is "Intern", security level 10 is "Employee", 20 is "Accountant", etc.. That would mean you're not assigning the security level itself to a file (or a password, or whatever) but a readable string. Sounds easier - but is still the same as above.
I don't want to handle every users access individually. That would be way to much work when, for example, just want to provide a file which shouldn't be read by new employees but anyone else.
Any other ideas? Or are my concerns about the security level system just exaggerated and it's actually "okay" to do it that way?